1.如何编写可测试的代码
1、勿将对象的构建与应用逻辑混合在一起。
通常在写UT时,你需要实例化程序的一部分(理想情况是只有所测类),给对象一些输入,最后对对象的行为进行判定。为了能单独的实例化一个类,我们需要确保这个类不实例化其它的类(这些类不再实例化更多的类,以此类推),许多开发人员喜欢将new 操作符穿插在应用逻辑代码当中。
为了使你的代码具备可测试性,你需要两种类。第一种是工厂类,这些类包含了大量的 new 操作符,它们负责为你的程序生产类,不做其它的事情。
另一种是应用逻辑类,它不包含 new 操作符,只包含应用逻辑。事实上,测试的目的就是为了测试应用逻辑。
当应用逻辑中去除了 new 操作符之后,对象的创建就变得很容易,于是我们可以在测试中替换这些依赖(Mocks)。
2.怎么写Java测试代码
可以用main函数和JUnit来写测试代码。main是最早使用的,但是现在更流行的测试工具是JUnit。
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. 使用文档生成器做测试文档。
3.如何写junit测试代码
下面是一些具体的编写测试代码的技巧或较好的实践方法: 网管联盟bitsCN_com
1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依赖或假定测试运行的顺序,因为JUnit利用Vector保存测试方法。所以不同的平台会按不同的顺序从Vector中取出测试方法。
网管联盟bitsCN_com
3. 避免编写有副作用的TestCase。例如:如果随后的测试依赖于某些特定的交易数据,就不要提交交易数据。简单的会滚就可以了。
4. 当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
5. 将测试代码和工作代码放在一起,一边同步编译和更新。(使用Ant中有支持junit的task.)
6. 测试类和测试方法应该有一致的命名方案。如在工作类名前加上test从而形成测试类名。
网管u家u.bitsCN.com
7. 确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试。 网管u家bitscn.net
8. 如果你编写的软件面向国际市场,编写测试时要考虑国际化的因素。不要仅用母语的Locale进行测试。
9. 尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法,可以使代码更为简洁。
10.测试要尽可能地小,执行速度快。
4.写测试代码从哪些方面考虑
1、养成良好的书写代码的习惯,该加注释的时候一定要加注释,该大写的地方一定要大写,变量命名不能模糊不清。这是基础,是为了让别人能看明白你所写的代码,不能你写的代码只有你自己才看的明白。
2、注意所写软件的版本控制。
3、勤奋学习最新的技术,计算机技术日新月异,这点我不说相信你也知道。
4、养成写开发文档的好习惯,再接到一个项目时,第一件事情是进行需求分析,然后写开发文档,把你每一步要做什么都先写清楚,再动手做。
5、不要怕技术难题,在计算机领域,只有不能解决难题的人,没有人解决不了的难题。
6、虚心象他人学习,即使技术实力比你差很多的人,也肯定会知道一些你所不知道的技术点。
5.应该如何编写测试代码
产品类:classCMyClass{public:intAdd(inti,intj);CMyClass();virtual~CMyClass();private:intmAge;//年龄CStringmPhase;//年龄阶段,如少年,青年};建立对应的测试类CMyClassTester,为了节约编幅,只列出源文件的代码:voidCMyClassTester::CaseBegin(){//pObj是CMyClassTester类的成员变量,是被测试类的对象的指针,//为求简单,所有的测试类都可以用pObj命名被测试对象的指针。
6.如何编写测试程序
不用 如果你创建所有类文件都在同一个包里,那么就直接写个test类,在test类中 直接使用你之前所创建类的就可以了,
前提是你的test类和其他的类在同一级目录中,不需要继承,也不需要接口的。
直接调用
比如你写了个类文件A.java
又写了个测试类test.java,且A和test在同一级目录
那么在test.java中直接使用就行
比如
test.java{
public static void main(args[]){
A a;
}
}
转载请注明出处育才学习网 » 如何写测试代码怎么写