扫码一下
查看教程更方便
在这个例子中,我们将展示如何使用 ant 运行 junit。让我们跟随以下步骤:
下载
操作系统 | 文件名 |
---|---|
windows | apache-ant-1.8.4-bin.zip |
linux | apache-ant-1.8.4-bin.tar.gz |
mac | apache-ant-1.8.4-bin.tar.gz |
设置 ant_home 环境变量来指向 ant 函数库在机器中存储的基本文件地址。例如,我们已经在不同的操作系统的 apache-ant-1.8.4 文件夹中存储了 ant 函数库。
操作系统 | 输出 |
---|---|
windows | 在 c:\program files\apache software foundation\apache-ant-1.8.4 中设置环境变量 ant_home |
linux | export ant_home=/usr/local/\apache-ant-1.8.4 |
mac | export ant_home=/library/\apache-ant-1.8.4 |
附加 ant 编译器地址到系统路径,对于不同的操作系统来说如下所示:
操作系统 | 输出 |
---|---|
windows | 在 path 变量值最后添加字符串 ;%ant_home\bin |
linux | export path=$path:$ant_home/bin/ |
mac | 不需要 |
下载
操作系统 | 输出 |
---|---|
windows | junit4.10.jar |
linux | junit4.10.jar |
mac | junit4.10.jar |
messageutil
/* * this class prints the given message on console. */ public class messageutil { private string message; //constructor //@param message to be printed public messageutil(string message){ this.message = message; } // prints the message public string printmessage(){ system.out.println(message); return message; } // add "hi!" to the message public string salutationmessage(){ message = "hi!" message; system.out.println(message); return message; } }
在 c:\ > junit_workspace > testjunitwithant > src 文件夹中创建 testmessageutil 类。
testmessageutil
import org.junit.test; import org.junit.ignore; import static org.junit.assert.assertequals; public class testmessageutil { string message = "robert"; messageutil messageutil = new messageutil(message); @test public void testprintmessage() { system.out.println("inside testprintmessage()"); assertequals(message,messageutil.printmessage()); } @test public void testsalutationmessage() { system.out.println("inside testsalutationmessage()"); message = "hi!" "robert"; assertequals(message,messageutil.salutationmessage()); } }
在 c:\ > junit_workspace > testjunitwithant > lib 文件夹中复制 junit-4.10.jar。
我们将使用 ant 中的 任务来执行我们的 junit 测试样例。
运行下列的 ant
命令
c:\junit_workspace\testjunitwithant>ant
验证输出。
buildfile: c:\junit_workspace\testjunitwithant\build.xml
clean:
compile:
[javac] compiling 2 source files to c:\junit_workspace\testjunitwithant\test
[javac] [parsing started c:\junit_workspace\testjunitwithant\src\
messageutil.java]
[javac] [parsing completed 18ms]
[javac] [parsing started c:\junit_workspace\testjunitwithant\src\
testmessageutil.java]
[javac] [parsing completed 2ms]
[javac] [search path for source files: c:\junit_workspace\
testjunitwithant\src]
[javac] [loading java\lang\object.class(java\lang:object.class)]
[javac] [loading java\lang\string.class(java\lang:string.class)]
[javac] [loading org\junit\test.class(org\junit:test.class)]
[javac] [loading org\junit\ignore.class(org\junit:ignore.class)]
[javac] [loading org\junit\assert.class(org\junit:assert.class)]
[javac] [loading java\lang\annotation\retention.class
(java\lang\annotation:retention.class)]
[javac] [loading java\lang\annotation\retentionpolicy.class
(java\lang\annotation:retentionpolicy.class)]
[javac] [loading java\lang\annotation\target.class
(java\lang\annotation:target.class)]
[javac] [loading java\lang\annotation\elementtype.class
(java\lang\annotation:elementtype.class)]
[javac] [loading java\lang\annotation\annotation.class
(java\lang\annotation:annotation.class)]
[javac] [checking messageutil]
[javac] [loading java\lang\system.class(java\lang:system.class)]
[javac] [loading java\io\printstream.class(java\io:printstream.class)]
[javac] [loading java\io\filteroutputstream.class
(java\io:filteroutputstream.class)]
[javac] [loading java\io\outputstream.class(java\io:outputstream.class)]
[javac] [loading java\lang\stringbuilder.class
(java\lang:stringbuilder.class)]
[javac] [loading java\lang\abstractstringbuilder.class
(java\lang:abstractstringbuilder.class)]
[javac] [loading java\lang\charsequence.class(java\lang:charsequence.class)]
[javac] [loading java\io\serializable.class(java\io:serializable.class)]
[javac] [loading java\lang\comparable.class(java\lang:comparable.class)]
[javac] [loading java\lang\stringbuffer.class(java\lang:stringbuffer.class)]
[javac] [wrote c:\junit_workspace\testjunitwithant\test\messageutil.class]
[javac] [checking testmessageutil]
[javac] [wrote c:\junit_workspace\testjunitwithant\test\testmessageutil.class]
[javac] [total 281ms]
test:
[junit] testsuite: testmessageutil
[junit] tests run: 2, failures: 0, errors: 0, time elapsed: 0.008 sec
[junit]
[junit] ------------- standard output ---------------
[junit] inside testprintmessage()
[junit] robert
[junit] inside testsalutationmessage()
[junit] hi!robert
[junit] ------------- ---------------- ---------------
build successful
total time: 0 seconds