java - JUnit 的不同风格?

标签 java junit maven

我正在尝试更新我的 Java,并学习如何使用 Maven 和 JUnit。遵循 Maven quick start我在控制台中运行了以下命令:

mvn archetype:generate \
 -DgroupId=com.mycompany.app \
 -DartifactId=my-app \
 -DarchetypeArtifactId=maven-archetype-quickstart \
 -DinteractiveMode=false

然后我在适当的文件夹中得到了一个简单的 App.java 和一个 AppTest.java 。我现在正在查看 AppTest.java 并试图弄清楚如何使用这个 JUnit 东西。问题是我不明白它,而且我看起来与我在 JUnit Cookbook 中看到的完全不同。 。例如我从Maven获取的版本有不同的包名称,并且没有测试方法的注释。

这是怎么回事? Maven 是否使用了常规 JUnit 之外的其他东西?或者只是做了一些奇特的事情?

<小时/>

更多信息

Apache Maven 3.0.2(r1056850;2011-01-09 01:58:10+0100)
Java 版本:1.6.0_23,供应商:Sun Microsystems Inc.

AppTest.java

package com.mycompany.app;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest extends TestCase {
    /**
     * Create the test case
     * 
     * @param testName
     *            name of the test case
     */
    public AppTest(String testName) {
        super(testName);
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite() {
        return new TestSuite(AppTest.class);
    }

    /**
     * Rigorous Test :-)
     */
    public void testApp() {
        assertTrue(true);
    }
}

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>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

最佳答案

没有 Maven 使用常规的 Junit。

但这里使用旧版本 3.8.1(无需注释即可工作,因此不需要 java 5 或更高版本)。

只需将 junit 依赖项更新到最新的 junit 版本 (4.8.2),然后您就可以像习惯 wirh 注释一样编写测试。

关于java - JUnit 的不同风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724583/

相关文章:

java - 从 tasklet 步骤将参数添加到作业上下文,并在 Spring Batch 的后续步骤中使用

java - assert(false) 不会停止执行

java - 测试类并加载依赖项的真实对象而不是模拟对象

java - 在 IntelliJ IDEA 中运行单个 Junit 测试

java - 在命令行中创建 Maven 项目

java - @PostConstruct sleep 时不会触发 ContextClosedEvent

java - Hibernate List<String> Java 持久性 1.0

java - BufferedReader 返回 null,即使它正在读取的流位于 pos 0

java - 如何在maven中默认排除特定库?

maven - 使用 Artifactory 插件和 Credentials 插件将 Maven Artifact 从 Jenkins 部署到 Artifactory 时,如何解决 401 故障?