mvn测试没有找到junit测试

时间:2017-04-23 00:48:46

标签: 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

这些是我的班级和考试班。

Calculator.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的新手,所以我无法弄清楚为什么这些没有运行。

1 个答案:

答案 0 :(得分:2)

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