【问题标题】:Run As JUnit not appearing in Eclipse - using JUnit4Run As JUnit 未出现在 Eclipse 中 - 使用 JUnit4
【发布时间】:2013-08-09 15:05:59
【问题描述】:

我正在尝试为我的 Web 应用程序编写 JUnit4 测试,它们之前一直运行良好。但是,现在当我尝试通过右键单击类文件-> 运行方式-> JUnit 测试来运行测试时,我看不到该选项。我认为这可能是因为一位同事在意外中提交了一些 Eclipse 设置/属性文件,这弄乱了我的。我在运行 10.6.X 的 Mac 上使用 Eclipse Helios。

我注意到测试类上的图标从“填充”J 变为“气泡”J,我不确定这是否表示某种问题:

我已经仔细检查并确保 JUnit4 在我的构建路径上,并且我已经转到 Eclipse -> Preferences -> JUnit 窗格并确认使用了 JUnit4 导入。

我的测试类如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration( { "classpath*:/resources/action-test-appconfig.xml" })
@Transactional
public class UserControllerTest extends BaseStrutsTestCase<UserController> {

    /**
     * Tests the ability of a user to change their login username
     * @throws Exception
     */
    @Test
    public void testChangeLogin() throws Exception {

感谢任何想法和建议。

【问题讨论】:

    标签: java eclipse unit-testing junit junit4


    【解决方案1】:

    问题在于您尝试在 Eclipse 中访问和运行 java 文件的方式。您应该在您的 java 文件中观察到这个空的“J”图标。是classpath的问题,点击的时候其实是从classpath访问文件。

    要查看 Java 文件,您必须在类路径中添加对项目的引用并将其移动到类路径列表的顶部。

    一旦你这样做了,那么你应该能够运行你的 junit。

    【讨论】:

    • 抱歉,我不熟悉这样做。我该去哪里在类路径中添加引用?
    • @rawkfist0215 好的,我会给你另一种方法,这样做:ctrl+shift+r 并输入你的测试类的名称。如果您看到包含多个条目的列表。尝试不同的条目以打开正确的 java 文件。正确的 java 文件将有一个填充的 J 图标,而不是一个空的。让我知道这个技巧是否适合你。
    • 如果我 ctrl+shift+r 并搜索他们想出的填充 J 图标的类。不过每个班级只有一个条目。通过搜索打开它们似乎确实使 Run As -> JUnit 选项可用,但是当我单击该选项时,它显示“未找到 JUnit 测试”,并且包资源管理器中仍然存在空的 J 图标。
    • 我能够通过将包含测试类的文件夹添加为构建路径中的源文件夹来解决此问题。我认为这可能就是您将其添加为类路径中的引用的意思?
    • @rawkfist0215 是的,很抱歉造成混淆。如果我的回答对您有帮助,请点击我的回答左侧的勾号接受。这种做法基本上可以帮助其他面临同样问题的人。
    【解决方案2】:

    我遇到了同样的问题,我重新启动了 eclipse 并返回了“Run as JUnit test”。 看起来像 Eclipse 中的一个错误。

    【讨论】:

      【解决方案3】:

      那种填充为“气泡”的 J 图标意味着 Eclipse 不会将您的项目识别为 Java 项目,因此不提供诸如 Run as JUnit 之类的 Java 选项。

      尝试将项目重新导入为 Java 项目。

      【讨论】:

      • 我尝试从我的系统中删除该项目,从存储库中重新检出它,然后将其作为现有项目重新导入,但不幸的是这不起作用。
      • 但是什么是 Java 项目?首先?当您说它不起作用时,您的意思是您无法导入它或者 Eclipse 仍然无法识别为 Java 项目?
      【解决方案4】:

      尝试在测试用例所在项目的 pom.xml 中添加以下依赖项:

          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>org.springframework.test</artifactId>
              <version>3.1.1.RELEASE</version>
              <scope>test</scope>
          </dependency>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-30
        • 1970-01-01
        • 2020-11-09
        • 1970-01-01
        • 2012-03-28
        相关资源
        最近更新 更多