Могу ли я использовать много раз @BeforeClass в одном случае TestNG? - PullRequest
0 голосов
/ 03 января 2019
public class TestBase{
    @BeforeClass
    protected void setUp() throws Exception {}

    @BeforeClass
    protected void setUp2() throws Exception {}

    @Test
    public void queryAcquirerInfoById(){
    }
}

Если я дважды использую @BeforeClass в одном классе TestNG, каков порядок этих двух методов?Можно ли назначить порядок двух методов?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Да, вы можете добавить несколько методов @BeforeClass в класс.Они будут работать в алфавитном порядке в соответствии с именем метода, например, в следующем примере порядок выполнения будет следующим:

  1. setUp1 ()
  2. setUp2 ()
  3. queryAcquirerInfoById ()

public class TestBase{

     @BeforeClass
     protected void setUp2() throws Exception {}

     @BeforeClass
     protected void setUp1() throws Exception {}

      @Test
      public void queryAcquirerInfoById(){
            }
        }

Однако вы можете назначить приоритеты выполнения методов @BeforeClass, используя опцию 'disabledOnMethods', например, если вы напишите


public class TestBase{

     @BeforeClass (dependsOnMethods = { "setUp1" })
     protected void setUp2() throws Exception {}

     @BeforeClass
     protected void setUp1() throws Exception {}

      @Test
      public void queryAcquirerInfoById(){
            }
        }

, тогда setUp1 () будет запущен раньшеSETUP2 ()

0 голосов
/ 03 января 2019

Было задано в группе testng , и было предложено использовать один метод, вызывающий несколько методов в нужном порядке:

использовать самый простой из возможных методов:

@BeforeClass
public static void method1() {
  ...
  method2();
  method3();
}

В вашем случае

@BeforeClass
protected void setUpAll() throws Exception {
 setUp();
 setUp2()
 }
protected void setUp() throws Exception {}

protected void setUp2() throws Exception {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...