[英]How can I run many test cases for a test method
我正在使用JUnit。我有一個測試方法來測試一個方法和一些測試用例。 我想在該測試方法中運行所有tes案例,但是我不能這樣做。 當第一個測試用例失敗時,測試方法不運行第二個測試用例
這是我的代碼
public class ComputeServiceTest extends TestCase {
//test add method
public void testAdd()
{
ComputeServices instance = new ComputeServices();
//First test case
int x1 = 7;
int y1 = 5;
int expResult1 = 13;
int result1 = instance.add(x1, y1);
assertEquals("First test case fail",expResult1, result1);
// Second test case
int x2 = 9;
int y2 = 6;
int expResult2 = 15;
int result2 = instance.add(x2, y2);
assertEquals("Second test case fail",expResult2, result2);
}
我怎樣才能做到這一點?
這里的標准建議是將您的第二個測試用例放在一個單獨的方法中,然后它將運行,而不管第一個“測試用例”是否成功。
您可以使用setUp方法來初始化ComputeServices實例,因此您無需在每個測試方法中都使用該樣板。
測試用例在第一個斷言失敗時中止,這是設計使然。
這是為了隔離測試用例:如果您的第二個斷言失敗,您如何知道instance.add(9,6)是否損壞,或者這是由第一次調用add()方法引起的?
當被測方法返回一個對象時,或當錯誤時為NULL時,此功能很有用。 第一個斷言確保該方法返回一個對象,然后可以調用該對象的方法以驗證其狀態。 當返回NULL時,測試用例在第一個斷言時中止,並且不會引發NullPointerException(該模式稱為Guard assertion )。
一個TestCase中可以有盡可能多的測試方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.