选中要测试的类,创建一个JunitTestCase,自动填好了一堆东西。可以在这个界面:
1。创建setUp等几个类
2。创建main方法,可以不在Eclipse界面中运行,有3种界面可选
3。下一页选择要测试的方法
然后就是在测试的方法中调用被测试类的方法
然后用assertFalse,assertTrue,assertEquals,assertSame,assertNull,等来测试了
在Eclipse中以JUnit的方式运行,不用写别的代码了,eclipse会自动找到TestCast并执行
如果想用Application的方式执行,则要写如下代码:
public static void main(String[] args) {
junit.textui.TestRunner.run(DbCheckTest1.class); //有3种界面可选swingui,awtui,textui
}
最简单的用法就是这样
--------------------
碰到一个问题,ClassLoader的问题
测试一个使用了JDBC的类,用Class.ForName()来取,结果找不到,把驱动加入ClassPath等等均无效,寻找解决办法种。可是在Eclipse中就可以正常的访问。
-----------
Struts中的测试分为MVC3个方面:
M模块部分测试比较简单,直接用JUnit如上就可以很简单的测试。
V部分主要是JSP,需要在容器中测试……学习中……
C部分主要是Action,需要使用专门的测试工具,比如……学习中……
--------------------------------
附:抄来的经验
下面是一些具体的编写测试代码的技巧或较好的实践方法:
1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依赖或假定测试运行的顺序,因为JUnit利用Vector保存测试方法。所以不同的平台会按不同的顺序从Vector中取出测试方法。
3. 避免编写有副作用的TestCase。例如:如果随后的测试依赖于某些特定的交易数据,就不要提交交易数据。简单的会滚就可以了。
4. 当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
5. 将测试代码和工作代码放在一起,一边同步编译和更新。(使用Ant中有支持junit的task.)
6. 测试类和测试方法应该有一致的命名方案。如在工作类名前加上test从而形成测试类名。
7. 确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试。
8. 如果你编写的软件面向国际市场,编写测试时要考虑国际化的因素。不要仅用母语的Locale进行测试。
9. 尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法,可以使代码更为简洁。
10.测试要尽可能地小,执行速度快。
---------------------------------------------------
JUnit是单元测试工具,我的理解是用来测试单个模块功能的工具,非常适合测试比较独立的模块。
测试的用途是用来检查错误,我认为这个工具并不只是帮助编程时查错。对于传统的编程方式,一般都设计好了各个模块,通常模块测试一次就可以了,但是目前设计总是因为功能不断的增加和修改而改变,如果多次这样,程序的质量和bug修正将是一个繁重困难的工作。JUnit在这种情况下,可以大大的提高工作效率,只要在第一次写代码的时候额外编写测试代码,以后所有的修改都可以实现自动的测试。
同时因为自动测试的实现,XP编程方法才有了实现的可能。通过先写好测试代码,另一个角度看也就是我们要实现的功能,然后写一个最简单的使测试通过的代码,再进行一个循环:改进-测试-通过-改进,直到代码满意,即使不太满意但写出的代码也是可运行的。