java - junit:没有找到测试

标签 java junit intellij-idea

我继承了一个 Java 项目,并且是 Java 开发的新手。我觉得让我熟悉代码的一个好方法是围绕它编写一些测试。我正在使用 IntelliJ 编写代码。

我现有的项目有一个这样的文件夹结构:

/myProject
  /src
    /main
      /java
        /com.lexcorp
          /core
            /email
              /providers
                emailProvider.java

我创建了一个新项目,该项目将对此项目进行测试。我希望这个项目能够同时进行单元测试和集成测试。目前,我的新项目结构如下:

/myProjectTests
  /src
    /main
      /java
        /com.lexcorp.core.email.providers
          emailProviderTest.java

emailProviderTest.java 文件如下所示:

package com.lexcorp.core.email.providers;

import junit.framework.TestCase;
import org.junit.Test;

public class EmailProviderTest extends TestCase {

    private final String username = "[testAccount]";

    private final String password = "[testPassword]";

    @Test
    public void thisAlwaysPasses() {
        assertTrue(true);
    }
}

此项目有一个运行/调试配置,具有以下属性:

  • 测试种类:全包
  • 搜索测试:在整个项目中

当我运行此配置时,我收到一条错误消息:

junit.framework.AssertionFailedError: No tests found in com.lexcorp.core.email.providers.EmailProviderTest
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
    at org.junit.runners.Suite.runChild(Suite.java:127)
    at org.junit.runners.Suite.runChild(Suite.java:26)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

我不明白为什么我会收到一个归结为:“未找到测试”的错误。虽然我的项目结构不同,但操作系统上的文件夹结构匹配(这是另一件事让我感到困惑)。为什么会出现此错误,如何解决?

最佳答案

我也遇到了这个错误:

junit.framework.AssertionFailedError: No tests found in ...

原因是我忘了说明

defaultConfig {
    ...
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

同步项目后,它找到了测试。所以也许它可以帮助别人。

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

相关文章:

java - 与maven远程资源共享/src/test/resources下的资源

java - 为什么我必须使用终端来编译和运行Java程序?

java - 客户端的 pako 和服务器端的 java

测试中的 JUnit5 断言计数

junit - 是否可以在不使用 powermock 的情况下在 Mockito 中模拟 UUID?

java - Play 2.4 和 IntelliJ 不解析类

java - Maven 包括旧版本的依赖项

java - 使用 fakeRequest 玩 2.5.x junit 测试错误处理

html - 哪些浏览器不支持空标签?

java - 检查样式缩进违规 - 'public' 缩进级别 4 不正确,预期级别应为 8