java - 无根测试

标签 java eclipse junit eclipse-3.4 ganymede

在 Eclipse(Eclipse 3.4 'Ganymede')中运行我的所有测试时,“Unrooted Tests”下会列出一项测试。我正在使用 Junit 3.8,这个特定的测试扩展了 TestCase。我看不出这个测试和其他测试有什么区别。我不记得在 Eclipse 3.3 (Europa) 中看到过这种情况。

澄清:

我们还没有迁移到 JUnit 4.0,所以我们没有使用注解。我也用谷歌搜索,似乎大多数人都遇到了 JUnit 4 的问题,但我没有看到任何解决方案。此时测试在本地和 CruiseControl 中都通过了,所以我并不过分担心,但很好奇。

不过,当我第一次看到这个时,它是在一个失败的测试中,只有在与其他测试一起运行时才会失败。这使我陷入了寻找解决方案来解决我从未找到的“无根”问题的方法。最终我在另一个没有正确拆除的测试中找到了罪魁祸首。

我同意,这似乎是一个 Eclipse 问题。

最佳答案

我终于找到了解决方案。问题是您没有使用注释定义您的测试用例,而是仍在使用“旧方式”。一旦您转换为使用注释,您就可以再次运行一个测试。

这是一个使用注释的基本测试现在应该是什么样子的示例:

import static org.junit.Assert.*; // Notice the use of "static" here
import org.junit.Before;
import org.junit.Test;

public class MyTests { // Notice we don't extent TestCases anymore

  @Before
  public void setUp() { // Note: It is not required to call this setUp()
    // ...
  }

  @Test
  public void doSomeTest() { // Note: method need not be called "testXXX"
    // ...
    assertTrue(1 == 1);
  }
}

关于java - 无根测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/120889/

相关文章:

java - ClassLoader.getSystemClassLoader().getResource() 在 servlet 容器和测试环境中的不同行为

java - 如何从 Spring Boot Controller 返回超链接?

java - Eclipse 中的 Maven 选项消失了

java - 内部静态类的 Lombok 注释

java - 如何从带有资源的android库项目创建Jar文件?

eclipse - 在 Eclipse 中搜索源附件

java - gradle 测试任务如何运行特定的 junit 测试套件?

java - 使用 java 和 JSON 生成一组空的 Json 大括号

java - 如何在java代码中获取由Xform引擎生成的输出XML

java - JPA Query.getResultList() - 以通用方式使用