คำถามติดแท็ก testng

12
JUnit vs TestNG [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน10 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ในที่ทำงานเรายังคงใช้ JUnit 3 เพื่อทำการทดสอบของเรา เรากำลังพิจารณาที่จะเปลี่ยนไปใช้ JUnit 4 สำหรับการทดสอบใหม่ที่กำลังเขียนขึ้น แต่ตอนนี้ฉันจับตาดู TestNG มาระยะหนึ่งแล้ว คุณมีประสบการณ์อะไรบ้างกับ JUnit 4 หรือ TestNG และดูเหมือนว่าจะทำงานได้ดีกว่าสำหรับการทดสอบจำนวนมาก การมีความยืดหยุ่นในการทดสอบการเขียนเป็นสิ่งสำคัญสำหรับเราเช่นกันเนื่องจากการทดสอบการใช้งานของเราครอบคลุมในแง่มุมกว้างและจำเป็นต้องเขียนด้วยวิธีต่างๆเพื่อให้ได้ผลลัพธ์ ข้อสอบเก่าจะไม่ถูกเขียนซ้ำเนื่องจากพวกเขาทำงานได้ดี สิ่งที่ฉันอยากเห็นในการทดสอบใหม่คือความยืดหยุ่นในวิธีการเขียนการทดสอบการยืนยันอย่างเป็นธรรมชาติการจัดกลุ่มและการดำเนินการทดสอบที่กระจายได้ง่าย
125 java  testing  junit  testng 

16
@BeforeClass และการสืบทอด - ลำดับการดำเนินการ
ฉันมีคลาสพื้นฐานนามธรรมซึ่งฉันใช้เป็นฐานสำหรับการทดสอบหน่วยของฉัน (TestNG 5.10) ในคลาสนี้ฉันเตรียมใช้งานสภาพแวดล้อมทั้งหมดสำหรับการทดสอบการตั้งค่าการแมปฐานข้อมูล ฯลฯ คลาสนามธรรมนี้มีวิธีการที่มี@BeforeClassคำอธิบายประกอบซึ่งจะทำการเริ่มต้น ต่อไปฉันจะขยายคลาสนั้นด้วยคลาสเฉพาะซึ่งฉันมี@Testวิธีการและ@BeforeClassวิธีการ วิธีการเหล่านี้ทำการกำหนดค่าเริ่มต้นเฉพาะคลาสของสภาพแวดล้อม (เช่นใส่บันทึกบางส่วนลงในฐานข้อมูล) ฉันจะบังคับใช้คำสั่งเฉพาะของ@BeforeClassวิธีการที่มีคำอธิบายประกอบได้อย่างไร ฉันต้องการคนที่มาจากคลาสฐานนามธรรมเพื่อดำเนินการก่อนคลาสขยาย ตัวอย่าง: abstract class A { @BeforeClass doInitialization() {...} } class B extends A { @BeforeClass doSpecificInitialization() {...} @Test doTests() {...} } คำสั่งซื้อที่คาดหวัง: A.doInitialization B.doSpecificInitialization B.doTests ลำดับจริง: B.doSpecificInitialization // <- crashes, as the base init is missing (A.doInitialization // <---not …

6
JUnit 4 vs TestNG - อัปเดต 2013 - 2014 [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ JUnit 4 และ TestNG เคยเทียบเคียงกัน ข้อดีข้อเสียของกรอบการทดสอบทั้งสองคืออะไร?

3
Mockito mocks ชั้นสุดท้ายในประเทศ แต่ล้มเหลวในเจนกินส์
ฉันได้เขียนการทดสอบหน่วยสำหรับวิธีการคงที่ วิธีการคงที่ใช้เวลาเพียงหนึ่งข้อโต้แย้ง ประเภทของการโต้แย้งเป็นชั้นสุดท้าย ในแง่ของรหัส: public class Utility { public static Optional<String> getName(Customer customer) { // method's body. } } public final class Customer { // class definition } ดังนั้นสำหรับUtilityชั้นเรียนฉันได้สร้างชั้นทดสอบUtilityTestsซึ่งฉันได้เขียนข้อสอบสำหรับวิธีนี้, getName. กรอบการทดสอบหน่วยเป็นTestNGMockitoและห้องสมุดเยาะเย้ยที่ใช้คือ ดังนั้นการทดสอบทั่วไปมีโครงสร้างดังต่อไปนี้: public class UtilityTests { @Test public void getNameTest() { // Arrange Customer customerMock = Mockito.mock(Customer.class); Mockito.when(...).thenReturn(...); // Act …

1
เรียกใช้คลาสที่สมบูรณ์อีกครั้งไม่ใช่แค่ @Test ใน TestNG
ฉันเรียกดู stackoverflow มาหลายวันแล้วพยายามหาวิธีทดสอบคลาสทั้งหมดอีกครั้งไม่ใช่แค่@Testขั้นตอนเดียว หลายคนบอกว่าสิ่งนี้ไม่ได้รับการสนับสนุนจาก TestNG และIRetryAnalyzerในขณะที่บางคนโพสต์การแก้ไขปัญหาที่ไม่ได้ผลจริงๆ มีใครจัดการที่จะทำมันได้หรือไม่ และเพื่อชี้แจงเหตุผลสำหรับสิ่งนี้เพื่อหลีกเลี่ยงคำตอบที่บอกว่าไม่รองรับวัตถุประสงค์: TestNG เป็นเครื่องมือที่ไม่เพียง แต่สำหรับนักพัฒนาเท่านั้น ความหมายที่ใช้จากผู้ทดสอบ sw สำหรับการทดสอบ e2e การทดสอบ E2e สามารถมีขั้นตอนที่ขึ้นอยู่กับแต่ละการทดสอบก่อนหน้านี้ ดังนั้นใช่มันเป็นความถูกต้องในการทดสอบระดับ re-run ทั้งมากกว่าที่เรียบง่ายซึ่งจะสามารถทำได้อย่างง่ายดายผ่านทาง@TestIRetryAnalyzer ตัวอย่างของสิ่งที่ฉันต้องการบรรลุคือ: public class DemoTest extends TestBase { @Test(alwaysRun = true, description = "Do this") public void testStep_1() { driver.navigate().to("http://www.stackoverflow.com"); Assert.assertEquals(driver.getCurrentUrl().contains("stackoverflow)")); } @Test(alwaysRun = true, dependsOnMethods = "testStep_1", description = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.