Как я могу передать параметры в [Setup] или [OneTimeSetup], чтобы у меня не было вызова метода в моем тестовом классе? - PullRequest
0 голосов
/ 12 марта 2020

В TestNg У нас есть @BeforeMethod, где мы можем передавать параметры. Но в Nunit я получаю это исключение: «У методов OneTimeSetUp: SetUp и TearDown не должно быть параметров: TestInitialize» Я пытаюсь создать отчет по экстентам для каждого теста в классе без вызова метода .CreateTest в каждом методе [Test]

[SetUp]
 public void TestInitialize(MethodInfo method)
 {
    StartReport(TestContext.CurrentContext.Test.Name);
    string testName = method.Name;
    test = extent.CreateTest(testName);
 }

 [Test]
  public void GetHealthTest()
  {
            test.Log(Status.Info, "Before calling GetHealth API");
            var health = heartbeat.GetHealth();
            test.Log(Status.Info, "After GetHealth API call");
            Assert.AreEqual(health.StatusCode, HttpStatusCode.OK);

  }



1 Ответ

0 голосов
/ 12 марта 2020

Если все, что вам нужно, это имя текущего теста в вашем SetUp, используйте TestContext.CurrentContext.Test.Name. Существуют и другие свойства, например FullName и MethodName, в зависимости от того, что вы предпочитаете видеть в своем отчете.

Тем не менее, даже при использовании SetUp это очень "занято" "способ сделать отчетность. NUnit также поддерживает расширения ядра, которые позволяют создавать отчеты вне самой тестовой сборки. Кроме того, можно просто написать программу, которая читает файл результата XML из тестового прогона и создает отчет.

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