我继承了一个 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
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);
}
}
此项目具有具有下列属性的 Run/Debug 配置:
当我运行这个配置时,我得到一个错误:
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)
我不明白为什么我会得到一个归结为: “没有发现测试”的错误。虽然我的项目结构不同,但是操作系统上的文件夹结构是匹配的(这是另一件让我困惑的事情)。为什么我得到这个错误,我如何修复它?