Как мы можем написать два метода @beforeTest в модуле TestCcase? - PullRequest
1 голос
/ 19 мая 2011

У меня есть два метода в моем тестовом примере.Я хочу использовать два разных метода @BeforeTest или @BeforeMethod для каждого из моих методов Test.

Я написал два метода @BeforeMethod в своем классе модульного теста, но оба метода выполняются для каждого модульного теста.Выполнение метода.

Итак, как мы можем объявить методы @BeforeMethod для выполнения для отдельных методов тестирования индивидуально?

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

public class MyUnitTest{

  String userName = null;
  String password = null;

  // Method 1
  @Parameters({"userName"})
  @BeforeMethod
  public void beforeMethod1(String userName){
      userName = userName;
  }

  @Parameters({"userName"})
  @Test
  public void unitTest1(String userNameTest){
      System.out.println("userName ="+userName);
  }


  // Method 2
  @Parameters({"userName","password"})
  @BeforeMethod
  public void beforeMethod2(String userName,String password){
      this.userName = userName;
      this.password = password;
  }

  @Parameters({"userName","password"})
  @Test
  public void unitTest2(String userNameTest,String passwordTest){
      System.out.println("userName ="+this.userName+" \t Password ="+this.password);
  }

}

есть способ сделать:

  1. beforeMethod1 метод выполняется только для unitTest1() метода?
  2. beforeMethod2 метод выполняется только для unitTest2() метода?

1 Ответ

3 голосов
/ 19 мая 2011

У вас есть несколько вариантов:

  • Вы можете объявить @BeforeMethod с параметром метода, проверить имя этого метода и, если это unitTest1, вызвать beforeMethod1 () и, если это unitTest2, вызвать beforeMethod2 (). Это, вероятно, не будет моим первым выбором, поскольку это немного хрупко, если вы измените имена своих методов.

  • Поместите эти методы и их метод before в отдельные классы, возможно, совместно используя общий суперкласс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...