TestNG单元测试实例

第一步:在IDE中新建一个TestLogin的类

package com.yxl.test;

import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.assertEquals;
import org.testng.annotations.Test;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;

public class TestLogin {

 /**
 * @param args
 */
@BeforeTest // 标记指定所有测试进行前呼叫此 method

 public void beforeAllTest(){

 System.out.println("Before All Test"); 

}

@BeforeMethod // 标记指定每个测试进行前呼叫此 method

 public void setUp() {

 System.out.println("Before Each Test Method");

 }

 @Test(groups = { "group1" }) // 标记为测试程式,并为分组 group1

 public void group1Test() {

 System.out.println("Group 1");

 }

 @Test(groups = { "group2" }) // 标记为测试程式,并为分组 group2

 public void group2Test() {

 System.out.println("Group 2");

 }

@Test(groups = { "group3" }) // 标记为测试程式,并为分组 group3

 public void group3Test() {

 System.out.println("Group 3");

 }

@Test //测试两个数是否相等
public void add()
{
 assertEquals(5,6);
}

Login log = new Login();
boolean tt =log.logintest("test", "test") ;

@Test //测试登录方法是否正确
public void testLogin()
{ 
assertTrue(tt);
}

 @AfterMethod // 标记指定每个测试进行后呼叫此 method

 public void tearDown(){

 System.out.println("After Each Test Method");

 }

 @AfterTest // 标记指定所有测试进行后呼叫此 method

 public void afterAllTest(){

 System.out.println("After All Test"); 

}

}

第二步:新建一个被测试的类Login。

package com.yxl.test;

public class Login {

 public boolean logintest(String username,String password)
 {
 boolean flag = false ;
 if(username=="test" && password=="test" )
 {
 flag = true ;
 return flag ;
 }
 else
 {
 return flag ;
 }
 
}
}

第三步:要测试Login 类中的方法是否正确,如果username,password的值均为test,则返回True,否则认为是登陆失败。故在第1步中这样写代码:

Login log = new Login();
boolean tt =log.logintest("test", "test") ;

@Test //测试登录方法是否正确
public void testLogin()
{ 
assertTrue(tt);
}

第四步:在工程中需要配置testng.xml,配置如下:

<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
 
< suite name="Example" verbose="1">

 <listeners>
 <listener class-name="priority.PriorityInterceptor" />
 </listeners>
 
<test name="Simple example" >
< !--
 <groups>
 <run>
 <include name="assert" />
 <include name="fail" />
 <include name="odd" />
 <include name="even" />
 <exclude name="broken" />
 </run> 
</groups>
-->
 <classes>
 <class name="com.yxl.test.TestLogin" />
 </classes>
 </test>
< !-- 
<test name="Method interceptor example" >
 <classes>
 <class name="priority.PriorityTest" />
 </classes>
 </test>
--> 

< /suite>

第五步:Run TestLogin这个类As TestNG,如果Eclipse中的Results of running of class TestLogin的Toolbar变绿,说明测试通过,如果是红色的,说明测试失败。

转载于:https://my.oschina.net/jimmylee216/blog/827880

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值