java测试类代码解析 java测试项目

怎么写Java测试代码?

可以用main函数和JUnit来写测试代码。main是最早使用的,但是现在更流行的测试工具是JUnit。

成都创新互联成立于2013年,先为德钦等服务建站,德钦等地企业,进行企业商务咨询服务。为德钦企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

下面是一些具体的编写测试代码的技巧或较好的实践方法:

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.测试要尽可能地小,执行速度快。

11.不要硬性规定数据文件的路径。

12.利用Junit 的自动异常处理书写简洁的测试代码

事实上在Junit 中使用try-catch 来捕获异常是没有必要的,Junit 会自动捕获异常。那些没有被捕获的异常就被当成错误处理。

13. 充分利用Junit 的assert/fail 方法

assertSame()用来测试两个引用是否指向同一个对象

assertEquals()用来测试两个对象是否相等

14. 确保测试代码与时间无关

15. 使用文档生成器做测试文档。

关于java面向对象的单元测试。测试类应该怎么写?具体代码如下

可以用main方法(主方法)进行单元测试

或者使用@Junit 家在方法上面

Java中的测试类和主类分别是什么,有点晕

JAVA中的测试类是用来是用来对已经写好的功能组件进行测试的。

可以有两种方法进行测试:

第一种:另外新建一个带有main方法的类,利用该类来调用需要测试的类,把需要测试的数据传入进去即可。比如:

需要测试的类是ScoreQuery(String stuNum, String subject);

public class TestCase{

public static void main(String[] args) {

ScoreQuery scoreQuery= new ScoreQuery("Tom", "150110101");

Map map = new HashMap();

map = scoreQuery.query();

System.out.println(map);

}

}

可以利用上面的方法对ScoreQuery(String stuNum, String subject)进行功能测试。

这种方法的好处就是比较简单,容易实现;但是弊端也很明显,不能进行功能重用,而且每次都要重复很多无用的代码。

第二种方法就是创建测试的功能组件,每次实现该功能组件对其他组件进行测试。

public class SimpleTestCase(){

Object object;

public staitc void prepare(){

Map map = new HashMap();

map.put("", "");

......

BeanUtils.map2Bean(map, object);

}

}

以后的测试类只需继承上面的测试类即可。

这段Java的代码,要用Junit来测试,但是不会写测试类

简单给你分析了一下,有好几个测试点:

正确获取到barcode。

正确试用barcode生成readerForm

使用readerForm获取读者条码

正确设置readerinfo

代码写得耦合度不够低,但还算可以,需要你用打桩来完成测试:

写一个request的子类,改写request中的getParameter方法,使之返回你想要的东西。

写一个readerDAO的子类,改写queryM的方法,验证readerForm中是否有正确的barcode,并保存结果,调用完毕后通过get方法查询结果。queryM方法的返回结果你自己来定义,方便后面验证

还是request的子类,改写setAttribute方法,验证readerinfo是否是之前readerDAO的返回结果。

不要测试是否是数据库里的值,是否是数据库里的值应该对readerDAO编写测试用例,而不是这个类。


分享文章:java测试类代码解析 java测试项目
转载来源:http://hbruida.cn/article/dosiiio.html