我很难找到“测试用例”一词的硬性定义。一些消息来源声称测试用例是一个扩展TestCase
的类。其他消息来源声称测试用例是单一测试方法。 JUnit文档不清楚,在我看来“测试用例”和“测试”的意思相同:
Test
注释告诉JUnit它附加的public void
方法可以作为测试用例运行。要运行该方法,JUnit首先构造一个新的类实例,然后调用带注释的方法。 JUnit将报告测试引发的任何异常都是失败的。如果没有抛出异常,则假定测试已成功。
究竟什么是“测试用例”,它与“测试”的关系是什么?
答案 0 :(得分:1)
我会向您指出TestCase上的JUnit文档。在其中,它描述了它表示TestCase的三个条件:
我认为setUp和tearDown部分对于理解这一点至关重要。这不仅仅是测试用例只是一种带注释的方法。测试用例是该方法加上初始化和销毁将在其上运行测试的帧。
因此,为了回答您的问题,测试是一种带注释的方法,它试图验证单个方法的工作情况,而测试用例是测试加上将运行它的框架。
答案 1 :(得分:1)
在JUnit上下文中,“测试用例”可以表示包含相关测试的类(在JUnit 4中,您不必再扩展TestCase
)或单个测试方法。这个词的定义确实没有。
在我的书中,测试用例就是这个问题的答案:被测试的代码是否符合预期?
测试用例可能很小:
Foo foo = new Foo();
assertEquals( "...", foo.bar(5) );
或者他们可以设置数据库,将它与测试数据,创建对象模型,然后调用几个方法来验证对象模型的修改是否按预期工作。