(一)测试分类技术与Testng

发表于:2007-10-18 13:35

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

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

实现TestNG分类
  将TestNG测试分成三类就像使用上面所讲的group注释一样简单。通常不会有一个具有跨不同测试粒度的方法的测试类,所以在类的级别上,可以有效地应用标记。

  例如,下面的类被标记为属于unit测试组。请注意,HierarchyBuilderTest是怎样依靠HierarchyBuilder类型来验证Hierarchy类的行为的。由于这一关系结束于不依赖文件系统或数据库的HierarchyBuilder,因此实际上可以把它看作单元测试:

import org.testng.Assert;

/**
 * @testng.test groups="unit"
 */
public class HierarchyBuilderTest {
 private Hierarchy hier;
 /**
  * @testng.before-class = "true" groups="unit"
  */
 private void init() throws Exception{
  this.hier =
    HierarchyBuilder.buildHierarchy(Vector.class);
 }
 
 public void validateIsntNull() throws Exception{       
  Assert.assertNotNull(this.hier,
    "should be something!");
 }
 /**
  * @testng.test dependsOnMethods="validateIsntNull"    
  */
 public void validateValues() throws Exception{       
  Assert.assertEquals(
    this.hier.getHierarchyClassNames().length,
    2, "should be 2");       
 }
}
  类似地,系统测试中单独的方法可以用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");
 }
}

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号