У меня есть тестовый класс, унаследованный от базового, который в основном вызывает метод контекста перед фактами, но XUnit звонит контекст один раз в самом деле:XUnit тест контекст для работы только один раз в классе
public class running_some_test : TestContext<ThingImTesting>
public void Because()
[Fact]
public void it_should_do_something()
[Fact]
public void it_should_do_more()
public void Context()
Я знаю, Я мог бы использовать IClassFixture, но наследование TestContext обеспечивает проверку методами With() и Context() для переопределения вместе с типом SUT. Я также думаю, что IClassFixture является слишком общим, мой контекст очень специфичен для каждого критерия теста, а SetFixture больше похож на общий набор. У кого-нибудь есть аналогичная картина, за которой я мог бы следовать?
Эта реализация предполагает, что мне понадобится новый класс Fixture для каждого теста, который я пишу, чтобы сделать его конкретным для этого сценария. Я ищу что-то менее общее. – Grace
Я в замешательстве, у вас нет создать новый класс, если это необходимо, и если это необходимо, как ваш нынешний подход избегает его? Что вы подразумеваете под менее общим? – kai
Кроме того, чем больше я думаю об этом, почему вы хотите переместить «настроенный» код каждого теста в класс приборов? Похоже, что это сильно ухудшит читаемость ваших тестов, если каждый сценарий будет скрыт в другом классе. Вы должны держать свои тесты маленькими и целенаправленными. – kai