Bộ công cụ của chúng tôi có hơn 15000 JUnit kiểm tra và nhiều thử nghiệm được xác định là không thành công nếu một số thử nghiệm khác không thành công. Ví dụ, nếu phương thức X.foo() sử dụng chức năng từ Y.bar() và YTest.testBar() không thành công, thì XTest.testFoo() cũng sẽ thất bại. Rõ ràng, XTest.testFoo() cũng có thể thất bại vì các vấn đề cụ thể đối với X.foo().Làm cách nào tôi có thể chỉ định các phụ thuộc kiểm tra JUnit?
Trong khi điều này là tốt và tôi vẫn muốn cả hai thử nghiệm chạy, nó sẽ là tốt đẹp nếu người ta có thể chú thích một phụ thuộc kiểm tra với XTest.testFoo() trỏ đến YTest.testBar(). Bằng cách này, người ta có thể ngay lập tức thấy chức năng nào được sử dụng bởi X.foo() cũng không thành công, và những gì không.
Có chú thích như vậy trong JUnit hay ở nơi khác không? Một cái gì đó như:
public XTest {
@Test
@DependsOn(method=org.example.tests.YTest#testBar)
public void testFoo() {
// Assert.something();
}
}
Đây là một chủ đề tuổi già, tuy nhiên: Nếu X.foo() sử dụng Y.bar() kiểm tra phải giả Y.bar(), nếu không (!) kiểm tra của bạn không phải là một bài kiểm tra đơn vị (nhưng một bài kiểm tra tích hợp). Toàn bộ ý tưởng của các bài kiểm tra đơn vị là không có bất kỳ sự phụ thuộc nào. Tuy nhiên, tôi ở đây vì một lý do ;-) – letmejustfixthat