测试分类技术与TestNG

发表于:2008-4-01 14:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

分享:

        类似地,系统测试中单独的方法可以用system组标识来标记,示范如下:

public class LoginTest  {
private WebTester tester;
/**
* @testng.before-class = "true" groups="system"
*/
protected void init() throws Exception {
this.tester = new WebTester();
this.tester.getTestContext().
setBaseUrl("http://acme.com:8080/ppo/");
}
/**
* @testng.test groups="system"
*/
public void verifyView() {
this.tester.beginAt("/");
this.tester.setFormElement("isbn", "900930390");
this.tester.submit();
this.tester.assertTextPresent("Book in stock");
}
}

运行分类测试
  将代码签入内容管理系统之前,通过构建或像IDE那样的环境进行本地测试是极为重要的。通过TestNG Eclipse插件运行分类测试非常简单。如图1所示,通过在TestNG Create, manage, and run configurations 对话框中选择组选项,可用组的列表将出现,它带有复选框,这使选择变得更轻松。选好所需的一个或多个组以后,单击Run按钮,然后就看着绿色进度条一直向前!

         s

                     图1,TestNG的Eclipse集成

  通过构建,运行分类TestNG 测试将转变成为各组定义恰当的 Ant 目标。例如,为了运行属于组件组的所有测试,用指定的component组定义TestNG Ant 任务。

<target name="testng-component"
depends="testng-init">
<mkdir dir="${testng.output.dir.comp}"/>
<testng groups="component"
outputDir="${testng.output.dir.comp}"
sourceDir="${testng.source.dir}"
classpath="${testclassesdir};${classesdir}">
<classfileset dir="${testng.source.dir}">
<include name="**/*Test.java"/>
</classfileset>
<classpath>
<path refid="build.classpath"/>
</classpath>
</testng>

        因此,采用这一策略,至少可以创建4个目标。其中3个分别对应单元、组件和系统测试,最后一个目标则能运行所有这3种测试。

结束语
  TestNG使测试分类变得相当容易,这很可能是TestNG的最激动人心的优点之一。此外,TestNG的group注释还有助于把测试放到其他分类中,如成批测试、验收测试,甚至是性能测试。事实上,这一特性似乎已对最新版本的JUnit产生了影响,JUnit也在规划支持测试组!

  下一次,当您摸索着编写新的测试用例时,考虑一下它对构建执行次数的长期影响。构建的可伸缩性以一个以各种频率运行的测试分类策略开始,有效的测试分类则以TestNG开始。

44/4<1234
2023测试行业从业人员调查问卷已开启,千元大奖正在等你~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号