簡體   English   中英

如何為一種測試方法運行許多測試用例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM