TestDriven.NET挂起用于连接到数据库的测试

时间:2011-03-04 14:55:14

标签: c# unit-testing testdriven.net

所以我正在编写一个连接到远程PostgreSQL服务器的Web服务,提取一些数据然后我处理数据。目前,我正在编写单元测试以确保我可以获取数据并且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 个答案:

答案 0 :(得分:2)

为每个测试打开和关闭连接 - 设置&amp; TearDown而不是TestFixtureSetup&amp; TestFixtureTeardown