Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TestNG框架和新关键字_Java_Testng - Fatal编程技术网

Java TestNG框架和新关键字

Java TestNG框架和新关键字,java,testng,Java,Testng,我是TESTNG框架的新手。在这个框架中没有主方法。因此我的疑问是,我们是否可以使用new关键字在测试套件中的任何位置创建对象?或者,是否有一个基本规则,即对象只能在某些位置实例化(例如,testng注释中的@beforesuite、@test和其他位置) 在下面的代码中,当我在类中使用new关键字(Ideal-objIdeal=new-Ideal();)时,它失败了,但当我将它放在@test注释方法(login或logout)中时,它通过了。因此,在使用Testng框架时,实例化类中的对象的基

我是TESTNG框架的新手。在这个框架中没有主方法。因此我的疑问是,我们是否可以使用new关键字在测试套件中的任何位置创建对象?或者,是否有一个基本规则,即对象只能在某些位置实例化(例如,testng注释中的@beforesuite、@test和其他位置)

在下面的代码中,当我在类中使用new关键字(Ideal-objIdeal=new-Ideal();)时,它失败了,但当我将它放在@test注释方法(login或logout)中时,它通过了。因此,在使用Testng框架时,实例化类中的对象的基本经验法则是什么

package testing.ideal;

public class Application {

    public String strURL;

    public Application() {
        this.strURL = Ideal.strURL;
        System.out.println("the url is--" + this.strURL);
    }

}


/*这是Testng XML*/

您可以使用注释:

@BeforeSuite/@AfterSuite
在特定套件中的所有测试运行之前/之后运行一些逻辑

@beforethod/@AfterMethod
在每个测试方法之前/之后运行一些逻辑。

@BeforeGroups\@AfterGroups
在属于该组的第一个/最后一个测试方法之前/之后运行一些测试方法

@BeforeTest\@posterest
中包含的任何测试方法之前/之后运行一些逻辑

因此,在测试类中,创建一个方法,例如
setUp
来创建
objIdeal

 @BeforeTest
  public void setUp()
  {
     objIdeal = new Ideal();  
  }

您需要使用专用的runner类运行测试类;现在还不清楚你的环境是什么
 @BeforeTest
  public void setUp()
  {
     objIdeal = new Ideal();  
  }