我有一個測試,它執行一個循環來運行相同的測試,但使用不同的輸入。問題是當一個斷言失敗時,測試停止,並且標記爲一個測試失敗。如何使用junit從單一方法運行differents測試
下面是代碼:
@Test
public void test1() throws JsonProcessingException {
this.bookingsTest(Product.ONE);
}
@Test
public void test2() throws JsonProcessingException {
this.bookingsTest(Product.TWO);
}
public <B extends Sale> void bookingsTest(Product product) {
List<Booking> bookings = this.prodConnector.getBookings(product, 100);
bookings.stream().map(Booking::getBookingId).forEach((bookingId) -> {
this.bookingTest(bookingId);
});
}
public <B extends Sale> void bookingTest(String bookingId) {
...
// Do some assert:
Assert.assertEquals("XXX", "XXX");
}
在這種情況下,該方法TEST1和TEST2,執行兩個不同的測試,但在他們裏面,我做一個循環來檢查返回的每一個項目的一些東西由收藏。但是我想要的是將每個項目的測試視爲一個不同的項目,以便在其中一個項目失敗時,其他項目繼續執行,並且我可以看到哪個項目失敗以及總共失敗多少項目。
您可能想看看參數化測試 –