Я не вижу различий в поведении для класса, у которого есть атрибут TestFixture
а не. Все TearDown
и SetUp
работают одинаково. Есть ли какая-либо причина, кроме семантики для использования этого атрибута?
В чем разница, если используется атрибут TestFixture или нет
Ответ 1
Это просто удобство, начиная с NUnit 2.5, если класс удовлетворяет условиям, которые являются тестовым прибором, и указывает, по крайней мере, метод, помеченный Test
, TestCase
или TestCaseSource
чем этот класс, рассматривается как тестовое устройство.
TestFixture
требуется, однако, для параметризованного или общего теста, потому что в этом случае вы также указываете дополнительную информацию через атрибут (параметры/конкретные типы).
Дополнительная информация о конкретных требованиях доступна в TextFixtureAttribute (Документация NUnit 3) и TestFixtureAttribute (NUnit 2.0/2.5)
Ответ 2
Если вы используете [TestFixture], вам приходится мириться с этим голосом в задней части головы, говоря: "Хм, это тестовый класс, а не тест-тест", и задаться вопросом, как они ошиблись в этой аннотации.