测试积点老人 发表于 2018-12-25 16:13:05

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变绿,说明测试通过,如果是红色的,说明测试失败。
页: [1]
查看完整版本: TestNG单元测试实例