zoukankan      html  css  js  c++  java
  • 白盒测试笔记之:testng 单元测试

    • 前言

    前一篇文章我们简单了解了下单元测试的概念以及使用junit进行入门了。

    但想更好做自动化测试,还是得了解下testng,毕竟,作为一名技术人,NG(下一代)的测试框架总得了解与跟进。

     testng比junit的强大与好用还是在实际操作理解中体会。

    有人说,一般来说,开发人员比较喜欢junit写单元测试,而测试人员喜欢用testng来写自动化测试。

     而作为初学入门技术选型,个人建议可以直接上testng。长远来看,testng更好的管理和执行自动化测试用例。

    异同点对比啥的网上很多都有说法了,如:

    https://www.cnblogs.com/weiweiyao/p/4280062.html

    http://www.sohu.com/a/288820372_216613

    • testng 实例
    1. 新建一个testng测试用例

    1. 引入testng 插件包 

    1)在eclipse- Help-Install new SoftWare-Add 输入链接http://beust.com/eclipse/ 一路next即可

    2)也可以下载testng的包(https://testng.org/doc/download.html),把它放到eclipse的目录下,重启生效

    3)或者打开Eclipse, 然后打开网址:https://marketplace.eclipse.org/content/testng-eclipse,把这个Install按钮直接拖拽到Eclipse中也会触发安装

    2. 就可以创建一个testng的测试类了,效果如下

    3.跑一个testng测试类

    代码:

    package testng;
    
    public class Caculator {
           /**
         * 传入两个参数,求和
         * @param a
         * @param b
         * @return
         */
        public int add(int a,int b){        
            return a+b;
        }
         
        /**
         * 传入两个参数,求差
         * @param a
         * @param b
         * @return
         */
        public int sub(int a,int b){         
            return a-b;
        } 
    }
    package testng;
    
    import org.junit.Assert;
    import org.junit.Before;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.Test;
    
    public class testng {
      @Test
      public void f() {
      }
      
      Caculator a=null;
      
      @BeforeTest
      public void testBeforeClass()
      {
          a=new Caculator();
      }
        
      @Test
      //测试 add()方法
      public void testAdd(){
          int result = a.add(1, 2);
          Assert.assertEquals(result, 4);
      }
      
      @Test
      //测试 sub()方法
      public void testSub(){
          int result = a.sub(2, 1);
          Assert.assertEquals(result, 2);
      }  
    }

    运行效果:

    2. 配置testng.xml

    了解testng,能跑起来,但想做高级一点的,如集成到其它环境或多个包之间一键跑用例,还是要了解testng.xml:

    1) eclipse 如何配置testng.xml?

    进行选中一个测试的项目中,然后进行右键弹出下拉菜单中进行选择为“TestNG”.
    这样就会弹出了一个下一级菜单中进行选择为“convert to testng”
    这样就会在项目的列表中添加了一个testng.xml的一个文件。

     

    配置如下(变更点为红色部分):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite">
      <test thread-count="5" name="Test">
        <classes>
          <class name="testng.testng">
          <methods>
            <include name="testAdd" />  
            </methods>  
              </class>  
        </classes>
      </test> <!-- Test -->
    </suite> <!-- Suite -->

    运行效果:

    如果要运行多个不同包中的测试用例,则可以配置如下(变更点为红色部分)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite">
      <test thread-count="5" name="Test">
        <classes>
          <class name="testng.testng">
          <methods>
            <include name="testAdd" />  
            </methods>  
              </class>           
          <class name="testng2.testng">
          <methods>
            <include name="testAdd" />  
            </methods>  
              </class> 
        </classes>
      </test> <!-- Test -->
    </suite> <!-- Suite -->
  • 相关阅读:
    2019-06-2 java学习日记
    2019-06-1 java学习日记
    2019-05-31 java学习日记
    2019-05-30 java学习日记
    2019-05-29 java学习日记
    2019-05-28 java学习日记
    2019-05-27 java学习日记
    2019-06-03 Java学习日记 day24 多线程
    2019-06-02 Java学习日记 day23 递归练习
    2019-06-01 Java学习日记 day22 io其他流
  • 原文地址:https://www.cnblogs.com/xiaoer/p/11181643.html
Copyright © 2011-2022 走看看