Tôi đang cố gắng tạo hai thử nghiệm trong đó một thử nghiệm phụ thuộc vào việc thực hiện lệnh còn lại. Dự án tôi đang làm là đầy mã di sản, vì vậy tôi đang cố gắng làm cho các phần chính của ứng dụng có thể kiểm chứng được. Bài kiểm tra đầu tiên về cơ bản sẽ cố gắng tạo một số kết nối tới cơ sở dữ liệu và thiết lập một số biến tĩnh. Test2 sau đó sẽ sử dụng kết nối và các biến để chèn một số dữ liệu. Tôi không muốn làm những điều Test1 làm thêm một lần nữa trong Test2.Phương pháp phụ thuộc vào nhóm không tồn tại - Testng
Tôi đã thực hiện Test2 phụ thuộc vào test1 sao cho nếu Test1 thất bại, Test2 sẽ không thực thi. Nhưng nếu Test2 thất bại, tôi muốn nó có thể chạy lại. Khi tôi thử điều này trong Intellij IDEA, tôi nhận được những điều sau đây:
java.lang.Throwable: Method a.stack.Test2.failingTest() depends on nonexistent group "FirstTest"
Tôi đang thiếu gì?
Test1:
package a.stack;
import org.testng.Assert;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
/**
* The First test
*/
@Test(groups = {"FirstTest"})
public class Test1 {
public void init(){
// Initialize something which other tests should use
Assert.assertTrue(true);
}
}
Và Test2:
package a.stack;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
*
*/
@Test(groups = {"OtherTests"}, dependsOnGroups = {"FirstTest"})
public class Test2 {
public void failingTest(){
Assert.assertTrue(false);
}
}
Testng.xml:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="test" verbose="1">
<test name="basic" junit="false">
<groups>
<run>
<include name="FirstTest"/>
<include name="OtherTests"/>
</run>
</groups>
<packages>
<package name="a.*"/>
</packages>
</test>
</suite>
Nó hoạt động trong lần chạy đầu tiên, nhưng khi Test2 không thành công và tôi chạy lại các kiểm tra không thành công, nó ném được lệnh cho biết nhóm, FirstTest, không tồn tại. – user1213843