这是第一个测试,首先要确定包被部署ok并且JUnit在类路径上。没有特别的。
然后我们构建。
我们运行我们的测试。
有多种运行测试的方法:
在命令行中,需要先用文字表示:java.junit.textui.TestRunner org.dneary.math.test.MathOpsTest For AWT:java junit.awtui. TestRunner org.denerry.math.test.MathOpsTest For Swing:java junit.swingui. TestRunner org.dneary.math.test.MathOpsTest
更好的是(恕我直言):用eclipese 插件,或者写一个像这样的小的"主"函数:
public static void main(String[ ] args) { junit.swingui.TestRunner.run(MathOpsTest.class); } |
然后使用 java org.dneary.math.test.MathOpsTest简单运行测试。
下面是使用文本模式在命令行执行。
java -cp junit.jar;. junit.textui.TestRunner org.dneary.math.test.MathOpsTest.
Time: 0,01
OK (1 tests)
哇哦!运行通过。
3.2 全速前进
很好--但是不测试任何东西的测试是不太好的。最好是有一些测试。我们将写一个方法,用来返回一组整数集合的平均值。
import java.util.*; ... public static double average (List numbers) { return 0; } |
import java.util.*; Vector nums = new Vector(); |
这是一个非常简单的测试,检查我们没有做出任何非常愚蠢的错误。它应该不会对我们的类构成任何问题。但是……
java -cp junit.jar;. junit.textui.TestRunner org.dneary.math.test.MathOpsTest
..F
Time: 0,01 There was 1 failure:
1)
test_average_simple(org.dneary.math.test.MathOpsTest)junit.framework.AssertionFailedError
At
org.dneary.math.test.MathOpsTest.test_average_simple(MathOpsTest.java:18)
FAILURES!!!
Tests run: 2, Failures: 1, Errors: 0
This is normal. 0 != 3.0.