繁体   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