java - mvn 测试未找到 junit 测试

标签 java maven junit

我创建了一个简单的项目来在 junit 中进行单元测试。我已运行 mvn test 但运行时收到以下消息。这是我的文件夹结构。

[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ junit-tests ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ junit-tests ---
[INFO] No tests to run.
[INFO] Skipping execution of surefire because it has already been run for this configuration
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.394 s
[INFO] Finished at: 2017-04-22T20:37:54-04:00
[INFO] Final Memory: 16M/211M
[INFO] ------------------------------------------------------------------------

我的项目结构。

.                                                                                                     │/.m2/repository/org/sonatype/mcookbook/junit-tests/1.0-SNAPSHOT/junit-tests-1.0-SNAPSHOT.jar
├── pom.xml                                                                                           │[INFO] Installing /Users/ianvshuff/Code/junit/pom.xml to /Users/ianvshuff/.m2/repository/org/sonatype
├── src                                                                                               │/mcookbook/junit-tests/1.0-SNAPSHOT/junit-tests-1.0-SNAPSHOT.pom
│   └── main                                                                                          │[INFO]
│       └── java                                                                                      │[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ junit-tests ---
│           └── org                                                                                   │[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform
│               └── calculator                                                                        │ dependent!
│                   └── instant                                                                       │[INFO] skip non existing resourceDirectory /Users/ianvshuff/Code/junit/src/main/resources
│                       └── Calculator.java                                                           │[INFO]
├── target                                                                                            │[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ junit-tests ---
│   ├── classes                                                                                       │[INFO] Changes detected - recompiling the module!
│   │   └── org                                                                                       │[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform depen
│   │       └── sonatype                                                                              │dent!
│   │           └── macbook                                                                           │[INFO] Compiling 1 source file to /Users/ianvshuff/Code/junit/target/classes
│   │               └── Calculator.class                                                              │[INFO]
│   ├── junit-tests-1.0-SNAPSHOT.jar                                                                  │[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ junit-tests ---
│   ├── maven-archiver                                                                                │[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform
│   │   └── pom.properties                                                                            │ dependent!
│   └── maven-status                                                                                  │[INFO] skip non existing resourceDirectory /Users/ianvshuff/Code/junit/src/test/resources
│       └── maven-compiler-plugin                                                                     │[INFO]
│           └── compile                                                                               │[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ junit-tests ---
│               └── default-compile                                                                   │[INFO] No sources to compile
│                   ├── createdFiles.lst                                                              │[INFO]
│                   └── inputFiles.lst                                                                │[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ junit-tests ---
└── test                                                                                              │[INFO] No tests to run.
    └── main                                                                                          │[INFO] Skipping execution of surefire because it has already been run for this configuration
        └── java                                                                                      │[INFO] ------------------------------------------------------------------------
            └── org                                                                                   │[INFO] BUILD SUCCESS
                └── calculator                                                                        │[INFO] ------------------------------------------------------------------------
                    └── instant                                                                       │[INFO] Total time: 1.394 s
                        └── CalculatorTest.java

这些是我的类(class)和测试类(class)。

计算器.java

package org.sonatype.macbook;
public class Calculator {
        public int evaluate(String expression) {
                int sum = 0;
                for (String summand: expression.split("\\+"))
                        sum += Integer.valueOf(summand);
                return sum;
        }
}

CalculatorTest.java

package org.calculator.instant;
import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class CalculatorTest {
        @Test
        public void evaluatesExpression() {
                Calculator calculator = new Calculator();
                int sum = calculator.evaluate("1+2+3");
                assertEquals(6, sum);
        }
}

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
        http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.calculator.instant</groupId>
        <artifactId>junit-tests</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>junit-tests</name>
        <dependencies>
                <dependency>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                        <version>4.12</version>
                        <scope>test</scope>
                </dependency>
        </dependencies>
</project>

我是 junit 和 java 的新手,所以我不明白为什么它们没有运行。

最佳答案

Maven项目结构应该是: src/main/java/package/class src/test/java/package/testclass。你的结构不正确。请更新一下。

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

相关文章:

java - Spring MVC 不解析存储在 webroot 之外的图像路径

java - 错误 404 与 :field - thymeleaf

java - 使用 @Test 注释在 Junit 测试中期望异常或其子类之一

selenium - Jenkins 中的条件构建后步骤(理想情况下没有插件)

java - 如何使测试类从目标/而不是目标/测试类读取数据Java

java - Java 应用程序的调试/标准构建

java - 在 Java 中声明方法参数 final 是否有任何性能原因?

java - 使用 JPA 2.0 的 Self ManyToMany 和附加列

Spring Roo 说 "Version is required for org.apache.maven.plugins:maven-compiler-plugin"

java - Maven 中 Unresolved 依赖关系