Eclipse中使用Juint

打算学习一下使用Juint,本以为比较费劲,后来来在Eclipse中用了一下,发现实在是简单:
选中要测试的类,创建一个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编程方法才有了实现的可能。通过先写好测试代码,另一个角度看也就是我们要实现的功能,然后写一个最简单的使测试通过的代码,再进行一个循环:改进-测试-通过-改进,直到代码满意,即使不太满意但写出的代码也是可运行的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值