2012-02-16 12 views
6

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> 

Trả lời

0

Bạn có chắc chắn rằng gói bạn chỉ định chứa các phương pháp trong nhóm đó?

+0

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

0

Nếu thử nghiệm không thành công trong bộ thì tệp testng-failed.xml được tạo trong thư mục đầu ra được sử dụng để chạy lại các trường hợp không thành công. Bạn có thể vui lòng kiểm tra tệp đó để đảm bảo rằng tệp xml có chứa cả nhóm và không chỉ các Bài kiểm tra khác, thực sự không thành công?

<run> 
     <include name="FirstTest"/> 
     <include name="OtherTests"/> 
</run> 

Bởi vì nếu nó không có nhóm FirstTest thì lỗi depends on nonexistent group "FirstTest" được ném.