我想做一些集成測驗來測驗我的整個程式(這是一個帶有程式引數的標準命令列 Java 應用程式)
基本上我有 3 個測驗:一個是創建資源,一個是更新資源,最后一個是洗掉它。
我可以做這樣的事情:
@Test
public void create_resource() {
MainApp.main(new String[] {"create", "my_resource_name"});
}
@Test
public void update_resource() {
MainApp.main(new String[] {"update", "my_resource_name"});
}
@Test
public void delete_resource() {
MainApp.main(new String[] {"delete", "my_resource_name"});
}
它可以作業......只要方法以正確的順序執行。我聽說測驗的良好執行不應該取決于順序。
uj5u.com熱心網友回復:
確實,訂購測驗被認為是一種氣味。話雖如此,在某些情況下它可能是有意義的,尤其是對于集成測驗。
您的示例代碼有點模糊,因為那里沒有斷言。但在我看來,您可能可以將這三個操作組合成一個測驗方法。如果你不能這樣做,那么你可以按順序運行它們。JUnit 5使用@Order注解支持它:
@TestMethodOrder(OrderAnnotation.class)
class OrderedTestsDemo {
@Test
@Order(1)
void nullValues() {
// perform assertions against null values
}
@Test
@Order(2)
void emptyValues() {
// perform assertions against empty values
}
@Test
@Order(3)
void validValues() {
// perform assertions against valid values
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/487639.html
