相关疑难解决方法(0)

JUnit混淆:使用'extends TestCase'还是'@Test'?

我发现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 junit automated-tests

149
推荐指数
4
解决办法
7万
查看次数

测试运行'JUnit 4'没有测试结果

我的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)

如何解决此错误并让测试再次运行?

java eclipse junit junit4

101
推荐指数
9
解决办法
20万
查看次数

标签 统计

java ×2

junit ×2

automated-tests ×1

eclipse ×1

junit4 ×1