zoukankan      html  css  js  c++  java
  • testng入门教程5TestNG套件测试

    TestNG套件测试

    测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合。在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征。这也允许灵活的配置要运行的测试。套件可以包含一个或多个测试和被定义由<suite>标签。

    testng.xml中有<suite>根标签。它描述了一个测试套件,这反过来又是由多个<test>区段组成。

    下表列出了所有的<suite>可接受合法属性。

    属性描述
    name 此套件的名称。这是一个强制性的属性。
    verbose 这个运行级别或冗长。一般verbose=从0到9的数,数越大表明testng的日志越详细,一般verbose=2
    parallel 由TestNG 运行不同的线程来运行此套件。
    thread-count 使用的线程数,如果启用并行模式(忽略其他方式)。
    annotations 在测试中使用注释的类型。
    time-out 默认的超时时间,将用于本次测试中发现的所有测试方法。

    在本章中,我们会告诉你一个例子,有两个Test1 & Test2测试类一起运行测试套件。

    创建一个类

    创建一个Java类进行测试 MessageUtil.java 在 C: > JUNIT_WORKSPACE

    /*
    * This class prints the given message on console.
    */
    public class MessageUtil {
        private String message;
    
        // Constructor
        // @param message to be printed
        public MessageUtil(String message) {
        	this.message = message;
        }
    
        // prints the message
        public String printMessage() {
        	System.out.println(message);
        	return message;
        }
    
        // add "Hi!" to the message
        public String salutationMessage() {
        	message = "Hi!" + message;
        	System.out.println(message);
        	return message;
        }
    }

    创建测试用例类

    创建一个Java类文件名 Test1.java 在C: > TestNG_WORKSPACE

    import org.testng.Assert;
    import org.testng.annotations.Test;
    
    public class Test1 {
        String message = "Manisha";
        MessageUtil messageUtil = new MessageUtil(message);
    
        @Test
        public void testPrintMessage() {
            System.out.println("Inside testPrintMessage()");
    	Assert.assertEquals(message, messageUtil.printMessage());
        }
    }

    创建一个Java类文件名 Test2.java 在C: > TestNG_WORKSPACE

    import org.testng.Assert;
    import org.testng.annotations.Test;
    
    public class Test2 {
        String message = "Manisha";	
        MessageUtil messageUtil = new MessageUtil(message);
    	 
        @Test
        public void testSalutationMessage() {
            System.out.println("Inside testSalutationMessage()");
            message = "Hi!" + "Manisha";
            Assert.assertEquals(message,messageUtil.salutationMessage());
        }
    }

    现在,让我们编辑写入testng.xml 在C: > TestNG_WORKSPACE ,将包含<suite>标签如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Suite1">
      <test name="exampletest1">
        <classes>
           <class name="Test1" />
        </classes>
      </test>
      <test name="exampletest2">
        <classes>
           <class name="Test2" />
        </classes>
      </test>
    </suite>

    Suite1 包括 exampletest1 和 exampletest2.

    所有Java类编译使用javac。

    C:TestNG_WORKSPACE>javac MessageUtil.java Test1.java Test2.java
    

    现在运行 testng.xml,将运行提供的测试用例类中定义的测试用例。

    C:TestNG_WORKSPACE>java -cp "C:TestNG_WORKSPACE" org.testng.TestNG testng.xml
    

    验证输出。

    Inside testPrintMessage()
    Manisha
    Inside testSalutationMessage()
    Hi!Manisha
    
    ===============================================
    Suite1
    Total tests run: 2, Failures: 0, Skips: 0
    ===============================================
    

    您也可以检查测试输出文件夹;下Suite1文件夹中,可以看到两个HTML创建的exampletest1.html 和 exampletest2.html 内容如下:

    Writing TestsWriting Tests

    文章转载自:易百教程 [http://www.yiibai.com]
    本文标题:TestNG套件测试
    转载请保留原文链接:http://www.yiibai.com/html/testng/2013/0915298.html

  • 相关阅读:
    异步解决方案----Promise与Await
    多页应用 Webpack4 配置优化与踩坑记录
    左侧固定,右侧自适应的布局方式(新增评论区大佬教的方法)
    精读《Epitath 源码
    如何编写 Typescript 声明文件
    状态码具体解释
    LINQ体验(2)——C# 3.0新语言特性和改进(上篇)
    kafka教程
    double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?
    mongodb mapreduce使用总结
  • 原文地址:https://www.cnblogs.com/111testing/p/6184140.html
Copyright © 2011-2022 走看看