1
因此,我正在編寫一個連接到遠程PostgreSQL服務器的Web服務,提取一些數據,然後處理數據。目前,我正在編寫單元測試以確保我可以抓取數據,並且我的List<T>
的計數大於零。TestDriven.NET掛起連接到數據庫的測試
我有一個私人PostgreSQL的連接:
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();
}
麻煩的是,測試(S)後,它傳遞,然後就掛起,直到我停止TestDriven.NET(如果我只運行一個測試發生)。
對此有何看法?我認爲它與PostgreSQL連接有關,因爲當我刪除這些連接時,測試將會失敗,並且所有事情都應該按照原樣進行。每個測試
+1它總是好的做法是儘可能晚地打開一個連接,並儘早將其關閉。 – 2011-03-04 15:05:13
到目前爲止好!多謝你們! – dolphy 2011-03-04 15:11:29
嗯,我認爲這工作,但幾次運行後再次遇到問題。 – dolphy 2011-03-04 15:25:29