2

У меня довольно большой набор интеграционных тестов, разработанных в C#/NUnit. В настоящее время это один испытательный прибор, один класс. В [TestFixtureSetUp] я создаю базу данных из скрипта и заполняю его тестовыми данными, также из сценария. Мои тесты не изменяют данные, поэтому они могут выполняться в любом порядке или параллельно.Как выложить мои интеграционные тесты

Моя проблема в том, что у меня слишком много тестов, и файл становится слишком большим, поэтому он выглядит уродливым, и мой ReSharper становится вялым. Я хочу разбить файл, но я действительно хочу создать свою тестовую базу данных только один раз. В качестве временной меры, я переезжаю код, который делает фактическое тестирование в статические методы в других классах, и вызывать их из одного класса TextFixture, следующим образом:

[Test] 
public void YetAnotherIntegrationTest() 
{ 
    IntegrationTestsPart5.YetAnotherIntegrationTest(connection); 
} 

Но она по-прежнему выглядит некрасиво, и я думаю, что должно быть лучшим способом.

Я использую VS 2008, обновление до 2010 года прямо сейчас, и SQL Server 2005.

ответ

3

Вы можете разделить ваш тестовый класс на несколько частичных классов через mutliple файлов. Таким образом вы можете сохранить один [TestFixtureSetup] и разделить файл на чистоту.

+0

Работал для меня, спасибо! –

2

Вы можете рассмотреть возможность объединения вашего соединения с базой данных в классе сиглетона, который инициализирует базу данных при создании экземпляра singleton. Тогда вы можете иметь столько классов тестов, сколько хотите, просто возьмите соединение db из синглтона.

+0

+1 Это сработало, спасибо! –

1

Я создаю базовый класс, содержащий метод установки. Затем вы просто наследуете его и не должны ничего называть для настройки базы данных в любом из тестовых классов.

Смежные вопросы