У меня есть класс, в котором есть несколько модульных тестов, но когда я запускаю тесты, я бы хотел, чтобы класс создавался с другим конструктором. Примерно так:
[TestFixture]
public class MyClass
{
public MyClass() { /* set up for production */ }
[TestFixtureConstructor]
public MyClass() { /* set up for testing */ }
[Test]
public void FirstTest()
{
// assert some values
}
}
Возможно ли это вообще?
Я рассмотрел использование статического метода фабрики для создания класса в производстве (с закрытым конструктором) и общедоступного конструктора для среды тестирования.
У кого-нибудь есть другие решения?