• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

JUnit使用经验(2) -- 转自PMT杂志

发布: 2007-7-01 18:47 | 作者: admin | 来源: | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网

JUnit使用经验(2)


原作:Andy Schneider Richard Dallaway 等
编译:PMT 测试工作组


经验四、在子类中调用父类的setUp() 和tearDown()
让我们看一看下面的代码
public class SomeTestCase extends AnotherTestCase {
// A connection to a database
private Database theDatabase;
public SomeTestCase (String testName) {
super (testName);
}
public void testFeatureX () {
...
}
public void setUp () {
// Clear out the database
theDatabase.clear ();
}
}
你发现其中的错误了吗?setUp()应该调用super.setUp() 以确保AnotherTestCase 中定义的环境被初
始化了。当然这也有例外,就是基类可以处理任意的测试数据。

经验五、不要硬性规定数据文件的路径
我们经常需要从文件系统中读取测试数据,看下面的代码:
public void setUp () {
FileInputStream inp ("C:\\TestData\\dataSet1.dat");
...
}
这段代码需要把测试数据文件dataSet1.dat 放在C:\TestData,这是有问题的。
第一,C 盘可能没有磁盘空间了测试人员不得不把数据文件放到其他路径;
第二,可能需要在其他操作系统比如Linux 上执行这一测试。
所以,一个较好的替代方案是
public void setUp () {
FileInputStream inp ("dataSet1.dat");
...
}
但事实上这样仍不是很好,因为这要求数据文件的路径和测试执行的路径必须是同一个,如果几个不同
的测试都这样的话,那要把这些测试集合起来执行就有些困难,我们不得不频繁的改变当前路径。
为了解决这个问题,我们可以使用Class.getResource()或者Class.getResourceAsStream(),这样我
们可以把数据文件放在这个Class 的某个相对路径上。
数据文件应该尽可能和源代码一起都放在配置管理系统上,但这样一来如果我们采用上面的Resource 机
制,我们就需要做一件工作,就是把数据文件从原来的位置-就是源代码的某个相对路径,拷贝到编译后
的位置,也就是class 文件的相应的相对路径。这其实并不复杂,因为从class 的package 就可以映射到
java文件的所在路径对于Linux或者Windows我们所要做的就是把package中的. 用
File.separatorChar 替代。

经验六、把测试的代码和被测的代码放在同样的目录下
当我们把测试代码和被测的代码放在同一目录下时,我们就可以在编译被测代码的同时编译测试代码,从
而确保两者是同步更新的。事实上当前的普遍做法,就是把单元测试视为Build 的一个环节。

经验七、正确命名测试
测试用例命名为TestClassUnderTest,比如如果被测的Class 是MessageLog,那么测试用例就叫
TestMessageLog,这样做使得测试用例和被测的Class一一对应,而在测试用例中每个测试的method 就
可以命名为
testLoggingEmptyMessage()
testLoggingNullMessage()
testLoggingWarningMessage()
testLoggingErrorMessage()
同样是为了说清楚测试的是什么。正确的命名可以帮助测试代码的阅读者了解每个测试的目的。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网