Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单元测试:一个测试中有两个场景?_Java_Unit Testing_Testing - Fatal编程技术网

Java 单元测试:一个测试中有两个场景?

Java 单元测试:一个测试中有两个场景?,java,unit-testing,testing,Java,Unit Testing,Testing,我想知道我是否有测试方法: public boolean validString(String str) { ... } 这样做很好: public void should_valid_string() { assertTrue(validString("okString")); assertFalse(validString("wrongString")); } 或者最好做两个测试?在我看来,这取决于您的测试用例一次失败的可能性有多大。在您的示例中,如果第一个断言失败,您不知

我想知道我是否有测试方法:

public boolean validString(String str) {
   ...
}
这样做很好:

public void should_valid_string() {
  assertTrue(validString("okString"));
  assertFalse(validString("wrongString"));
}

或者最好做两个测试?

在我看来,这取决于您的测试用例一次失败的可能性有多大。在您的示例中,如果第一个断言失败,您不知道第二个断言是否正常。如果你在两个测试中把它们分开,你会得到一个原子答案。

只要你测试所有不同的场景,我认为这并不重要。请记住,如果您在两个测试中分别执行
@Before
@Before
将在每个测试之前和之后执行,以防它们被定义,因此在某些情况下可能很重要