Tôi đang cố gắng khắc phục lỗi chạy thử không ổn định của chúng tôi, và, thật không may, tôi rất mới để tốt nghiệp. Chúng tôi hiện có testng, junit và tôi cũng muốn thêm một số thử nghiệm spock vào hỗn hợp. Tôi không hoàn toàn chắc chắn làm thế nào gradle xác định những thử nghiệm để chạy khi tôi gõ "kiểm tra gradle". Làm thế nào tôi có thể ngăn chặn testng &/hoặc kiểm tra junit chạy? Làm thế nào tôi có thể nhận được gradle để bắt đầu chạy thử nghiệm spock của tôi?Chọn các thử nghiệm cụ thể để chạy ở mức độ
10
A
Trả lời
14
Theo mặc định, nhiệm vụ test
chạy tất cả các kiểm tra JUnit có thể tìm thấy, bao gồm bất kỳ kiểm tra Spock nào. Để làm cho nó chạy thử nghiệm TestNG thay vào đó, cấu hình các nhiệm vụ như sau:
test {
useTestNG()
}
Nếu bạn có cả xét nghiệm JUnit và TestNG, bạn cần hai nhiệm vụ kiểm tra, một cho mỗi khuôn khổ kiểm tra.
Để chạy tập hợp con các bài kiểm tra, hãy sử dụng thuộc tính hệ thống -Dtest.single
. Để biết thêm thông tin, hãy xem phần tương ứng trong số Gradle User Guide.
3
$> gradle test -Dtest.single=YourTestClass
0
Bạn có thể cung cấp bằng cách sử dụng dòng lệnh:
$> gradle test --tests org.somewhere.MyTestClass
Hoặc thậm chí
$> gradle test --tests org.somewhere.MyTestClass.my_test_case
tôi nhìn vào tài liệu bạn tham khảo, nhưng nó là khá khó hiểu. Ví dụ: what on earth does: "gradle -Dtest.single = a/b/test" có nghĩa là gì? Tôi đang cố gắng để ngăn chặn các kiểm tra chuẩn junit chạy, nhưng chạy thử nghiệm spock & testng. Tôi không có may mắn. –
Từ tài liệu: TestNamePattern sẽ được sử dụng để tạo thành mẫu bao gồm '**/testNamePattern * .class'. Do đó 'a/b /' chọn tất cả các lớp thử nghiệm bên dưới một gói 'a.b'. (Lưu ý rằng 'a' không nhất thiết phải là gói gốc.) Để chạy Spock và TestNG nhưng không phải kiểm tra JUnit, bạn sẽ cần hai tác vụ (như đã giải thích ở trên) và cấu hình nhiệm vụ JUnit để chỉ bao gồm Kiểm tra Spock (theo quy ước đặt tên hoặc lớp). –