我正在尝试重新编写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>
答案 0 :(得分:5)
没有maven使用常规的Junit。
但是这里使用的是旧版本3.8.1(没有注释,因此不需要java 5或更高版本)。
只需将junit依赖关系更新到最新的junit版本(4.8.2),然后就可以像习惯注释一样编写测试。