所以我正在编写一个连接到远程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连接有关,因为当我删除它们时,测试将失败并且所有内容都会按原样消失。
答案 0 :(得分:2)
为每个测试打开和关闭连接 - 设置&amp; TearDown而不是TestFixtureSetup&amp; TestFixtureTeardown