TestNG Learning - Estudo Preliminar

A maioria dos testes automatizados ainda usa TestNG como método principal, especialmente projetos Java.Se você estiver familiarizado com um, poderá obter o dobro do resultado com metade do esforço quando entrar em contato com outras pessoas, para aprender primeiro com o testNG.

        Em primeiro lugar, um entendimento preliminar.

        TestNG é um framework de testes inspirado em JUnit e NUnit, mas apresenta alguns novos recursos que o tornam mais poderoso e fácil de usar, como:

注解。在具有各种可用策略的任意大线程池中运行测试(所有方法都在其自己的线程中,每个测试类一个线程,等等)。测试您的代码是否是多线程安全的。灵活的测试配置。支持数据驱动的测试(使用@DataProvider)。支持参数。强大的执行模型(不再需要TestSuite)。由各种工具和插件(Eclipse,IDEA,Maven等)支持。嵌入BeanShell以获得更高的灵活性。用于运行时和日志记录的默认JDK函数(无依赖项)。应用服务器测试的相关方法。

O TestNG foi projetado para cobrir todas as categorias de teste: unitário, funcional, ponta a ponta, integração, etc.

Aqui está um exemplo de um teste simples:​​​​​​​​

package example1; import org.testng.annotations.*; public class SimpleTest {
   
     @BeforeClass public void setUp() {
   
      // code that will be invoked when this test is instantiated }  @Test(groups = { "fast" }) public void aFastTest() {
   
      System.out.println("Fast test"); }  @Test(groups = { "slow" }) public void aSlowTest() {
   
       System.out.println("Slow test"); } }

        O método setUp() é chamado depois que a classe de teste é estabelecida e antes de qualquer método de teste ser executado. Neste exemplo, podemos selecionar o agrupamento rápido a ser executado, então aFastTest() será chamado e aSlowTest() será ignorado.

Nota :

无需扩展类或实现接口。即使上面的示例使用了JUnit约定,我们的方法也可以被称为任何您喜欢的名称,正是这些注释告诉TestNG它们是什么。一种测试方法可以属于一个或几个组。

        Depois que as classes de teste são compiladas no diretório de compilação, os testes podem ser chamados usando a linha de comando, uma tarefa ant (conforme mostrado abaixo) ou um arquivo XML:​​​​​​​​​​

<project default="test">  <path id="cp">   <pathelement location="lib/testng-testng-5.13.1.jar"/>   <pathelement location="build"/> </path>  <taskdef name="testng" classpathref="cp"          classname="org.testng.TestNGAntTask" />  <target name="test">   <testng classpathref="cp" groups="fast">     <classfileset dir="build" includes="example1/*.class"/>   </testng> </target> </project>

 Use ant para invocá-lo:​​​​​​​​

c:> antBuildfile: build.xml test:[testng] Fast test[testng] ===============================================[testng] Suite for Command line test[testng] Total tests run: 1, Failures: 0, Skips: 0[testng] ===============================================  BUILD SUCCESSFULTotal time: 4 seconds

Você pode então navegar pelos resultados do teste:

start test-output\index.html (on Windows)

    TestNG é uma estrutura de teste projetada para simplificar várias necessidades de teste, desde teste de unidade (teste de uma classe separadamente de outras classes) até teste de integração (teste de um sistema inteiro que consiste em várias classes, alguns pacotes ou até mesmo algumas estruturas externas), teste), como um servidor de aplicativos).

    Os testes de redação geralmente são divididos em três etapas:

编写测试的业务逻辑,然后在代码中插入TestNG批注。在testng.xml文件或build.xml中添加有关测试的信息(例如,类名,希望运行的组等)。运行TestNG。

       A forma combinada da estrutura geral:​​​​​​​​

一个XML文件,可以包含一个或多个测试,并由<suite>标记定义。测试由<test>表示,并且可以包含一个或多个TestNG类。TestNG类是Java类,其中至少包含一个TestNG批注。它由<class>标记表示,可以包含一个或多个测试方法。测试方法是在源代码中由@Test注释的Java方法。可以通过@BeforeXXX和@AfterXXX批注配置TestNG测试,该批注允许在特定点之前和之后执行一些Java逻辑。

        Se você gosta, pode prestar atenção (conta oficial: memorando de teste) para se comunicar ~

おすすめ

転載: blog.csdn.net/hashsabr/article/details/113789836