我继承了一个 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/