我发现JUnit的正确使用(或至少是文档)非常令人困惑.这个问题既可作为未来参考,也可作为真正的问题.
如果我理解正确,有两种主要的方法来创建和运行JUnit测试:
方法A(JUnit 3-style):创建一个扩展TestCase的类,并用该单词启动测试方法test
.当作为JUnit Test(在Eclipse中)运行该类时,test
将自动运行以该单词开头的所有方法.
import junit.framework.TestCase;
public class DummyTestA extends TestCase {
public void testSum() {
int a = 5;
int b = 10;
int result = a + b;
assertEquals(15, result);
}
}
Run Code Online (Sandbox Code Playgroud)
方法B(JUnit 4-style):创建一个"普通"类并@Test
在方法前加一个注释.请注意,您不必使用单词启动方法test
.
import org.junit.*;
import static org.junit.Assert.*;
public class DummyTestB {
@Test
public void Sum() {
int a = 5;
int b = 10;
int result = a + b;
assertEquals(15, result);
}
}
Run Code Online (Sandbox Code Playgroud)
混合两者似乎不是一个好主意,请参阅例如 …
我的Java测试在Eclipse中运行良好.但现在,当我从运行菜单重新启动测试时,我收到以下消息:
No tests found with test runner 'JUnit 4'
Run Code Online (Sandbox Code Playgroud)
在.classpath
文件中我有所有jar
文件,最后有:
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)
如何解决此错误并让测试再次运行?