У меня есть проект с несколькими TestFixture, и я хочу определить один и тот же метод [SetUp] [TearDown] для каждого теста . Учитывая, что у меня есть много TestFixture, я хочу избежать редактирования всех моих файлов, чтобы добавить две инструкции.
Просмотр документации по nunit, я думал, что [SetUpFixture] было идеальным решением. Поэтому я скопировал пример и попытался запустить его, но, похоже, мой метод TearDown никогда не запускается, тогда как SetUp выполняется так, как я ожидал. Чтобы утверждать это, я просто использовал операторы throw.
Мои вопросы:
- Я ошибаюсь в своем случае использования? Должен ли я действовать по-другому, чтобы достичь своей цели?
- Я неправильно использую атрибут SetUpFixture?
Ниже приведен мой класс SetUpFixture. Я использую Nunit 3.11.
using System;
using NUnit.Framework;
namespace MyTestProject
{
[SetUpFixture]
public class MySetUpClass
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
StaticClass.Init();
// throw new InvalidOperationException("SetUp reached");
}
[OneTimeTearDown]
public void RunAfterAnyTests()
{
StaticClass.Finalize();
// throw new InvalidOperationException("TearDown reached");
}
}
}