51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2017|回复: 0
打印 上一主题 下一主题

TestNG实例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-3-20 13:40:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用TestNG测试方法是否正确的一个例子

  1. 1、在Eclipse中新建一个TestLogin的类,此类代码如下:

  2. package com.yxl.test;

  3. import static org.testng.AssertJUnit.assertTrue;
  4. import static org.testng.AssertJUnit.assertEquals;
  5. import org.testng.annotations.Test;
  6. import org.testng.annotations.AfterMethod;
  7. import org.testng.annotations.AfterTest;
  8. import org.testng.annotations.BeforeMethod;
  9. import org.testng.annotations.BeforeTest;

  10. public class TestLogin {

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

  15. public void beforeAllTest(){

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

  17. }

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

  19. public void setUp() {

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

  21. }

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

  23. public void group1Test() {

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

  25. }

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

  27. public void group2Test() {

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

  29. }

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

  31. public void group3Test() {

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

  33. }

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

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

  41. @Test                         //测试登录方法是否正确
  42. public void testLogin()
  43. {   
  44.     assertTrue(tt);
  45. }


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

  47. public void tearDown(){

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

  49. }



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

  51. public void afterAllTest(){

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

  53. }

  54. }

  55. 2、新建一个被测试的类Login

  56. package com.yxl.test;

  57. public class Login {

  58.     public boolean logintest(String username,String password)
  59.     {
  60.         boolean flag = false ;
  61.         if(username=="test" && password=="test" )
  62.         {
  63.             flag = true ;
  64.             return flag ;
  65.         }
  66.         else
  67.         {
  68.             return flag ;
  69.         }
  70.         
  71.     }
  72. }

  73. 3、我们要测试Login 类中的方法是否正确,如果username,password的值均为test,则返回True,否则认为是
  74. 登陆失败。

  75. 故在第1步中这样写代码:

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

  78. @Test                         //测试登录方法是否正确
  79. public void testLogin()
  80. {   
  81.     assertTrue(tt);
  82. }



  83. 4、在工程中需要配置testng.xml,配置如下:

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

  87.   <listeners>
  88.     <listener class-name="priority.PriorityInterceptor" />
  89.   </listeners>
  90.   
  91.   <test name="Simple example" >
  92. <!--
  93.       <groups>
  94.       <run>
  95.         <include name="assert" />
  96.         <include name="fail" />
  97.         <include name="odd" />
  98.         <include name="even" />
  99.         <exclude name="broken" />
  100.       </run>        
  101.     </groups>
  102. -->
  103.     <classes>
  104.       <class name="com.yxl.test.TestLogin" />
  105.     </classes>
  106.   </test>
  107. <!--  
  108.   <test name="Method interceptor example" >
  109.     <classes>
  110.       <class name="priority.PriorityTest" />
  111.     </classes>
  112.   </test>
  113. -->  

  114. </suite>
复制代码



5、Run TestLogin这个类As TestNG,如果Eclipse中的Results of running of class TestLogin的Toolbar变绿,说明
测试通过,

如果是红色的,说明测试失败。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-28 05:44 , Processed in 0.064126 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表