所以我正在编写一个连接到远程 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 连接有关,因为当我删除这些连接时,测试将失败,并且一切都会按照应有的方式崩溃。