@Factory注释如何工作 - TestNG

时间:2015-07-05 08:19:23

标签: selenium selenium-webdriver testng testng-dataprovider

这个@Factory注释如何工作, 当我们需要使用@Factory

public class Factory1 
    {

        @Factory
        public Object[] testMy()
        {
            return new Object[]{new Login1()};

        }


    }

请告诉我以下代码的作用,

return new Object[]{new Login1()}

1 个答案:

答案 0 :(得分:1)

有时我们可能需要运行一组具有不同数据值的测试。为此,我们可以在testng XML中的套件中定义一组单独的测试,并测试所需的场景。这种方法的问题在于,如果你得到一组额外的数据,你需要重新定义测试。@Factory允许在运行时根据某些数据集或条件创建测试。

让我们举个例子

   @Factory
            public Object[] testMy()
            {
                return new Object[]{new Login1()};

            }

    public class login{

    public login(){

    syso('Login constructor called');

    }

output :

Login constructor called

You can also pass arguments and call the constructor multiple times

@Factory
            public Object[] testMy()
            {
                return new Object[]{new Login1(1),new Login1(2)};

            }

  public class login{

    public login(int num){

    syso('The number is '+num);

    }

output:

The number is 1

The number is 2

希望这可以帮助你......如果您有任何疑问,请回复