我刚开始学习JUnit,最近遇到了以下问题。
看看下面的课
class MyClass {
String a;
public MyClass(String a) {
this.a=a;
String doSomething(String a) {
if( a.isEmpty() )
return "isEmpty";
else
return"isNotEmpty";
}
我想针对两种情况测试上述方法。如果我继续编写测试用例的一般结构,它将看起来像这样:
class MyClassTest {
MyClass myClass;
@BeforeEach
void setUp() {
myClass=new MyClass("sampleString");
}
@Test
void doSomethingTest() {
Assertions.equal("isNotEmpty", myClass.doSomething());
}
}
但是,为了测试空字符串条件,我将需要另一种设置方法,而不是"sampleString"
传递空字符串。
以下是我可以想到的方法以及每个问题:
"sampleString"
然后这没有意义。同样,我们可以为该重复代码使用一个单独的方法,并在每个测试用例中单独调用它,但是这样就达不到使用steup方法的目的。可以说我想使用两种不同的设置方法,有没有办法?为了说明的目的,这个例子保持简单。
在具有注释的内部类中,将具有相同设置的测试分组@Nested
。每个嵌套的测试类可以在本地@BeforeEach
方法中有自己的设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句