TestDriven.NET зависает для тестов, которые подключаются к базе данных - PullRequest
1 голос
/ 04 марта 2011

Итак, я пишу веб-сервис, который подключается к удаленному серверу PostgreSQL, извлекает некоторые данные, а затем я что-то делаю с данными.В настоящее время я пишу модульные тесты, чтобы убедиться, что я могу получить данные, и мой List<T> имеет счетчик больше нуля.

У меня есть частное соединение PostgresSQL:

private NpgsqlConnection _conn;

В настройках тестового прибора я открываю соединение:

[TestFixtureSetUp]
public void TestFixtureSetUp()
{
    _conn = DAL.ConnectToPostgeSQL();
}

Пишу несколько тестов ... пример:

[Test]
public void CanGetSubmissions()
{
    List<Submission> submission = DAL.GetSubmissions(_conn);
    Assert.GreaterThan(submission.Count, 0);
}

Затем срываюсь, чтобы закрытьиз соединений:

[TestFixtureTearDown]
public void TestFixtureTearDown()
{
    _conn.Close();
    _conn.Dispose();
}

Проблема в том, что после теста (тестов) (может произойти, если я запускаю только один тест), он проходит, а затем просто зависает, пока я не остановлю TestDriven.NET.

Есть мысли по этому поводу?Я думаю, что это связано с соединением PostgreSQL, потому что, когда я их удаляю, тесты не пройдут, и все рушится, как и должно.

1 Ответ

2 голосов
/ 04 марта 2011

Открытие и закрытие соединения для каждого теста - Setup & TearDown вместо TestFixtureSetup & TestFixtureTeardown

...