不同风格的JUnit?

时间:2011-01-18 13:27:55

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

1 个答案:

答案 0 :(得分:5)

没有maven使用常规的Junit。

但是这里使用的是旧版本3.8.1(没有注释,因此不需要java 5或更高版本)。

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