【问题标题】:TestDriven.NET hangs for tests that connect to the databaseTestDriven.NET 挂起连接到数据库的测试
【发布时间】:2011-03-04 14:55:14
【问题描述】:

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

【问题讨论】:

    标签: c# unit-testing testdriven.net


    【解决方案1】:

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

    【讨论】:

    • +1 越晚打开连接越早关闭总是好的做法。
    • 好吧,我认为这行得通,但是运行几次后又遇到了问题。
    • 但是,每次打开和关闭。
    • 是的。每次都在打开和关闭。我刚刚重新安装了 TestDriven.NET,所以我们看看是否有帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多