0

以下是有关我的开发环境的信息:

MongoDB 3.0.0

MongoDB C# 驱动程序版本 1.7.0.4714

微软视觉工作室专业版 2013

.NET 框架 4.0

我们即将发布我们的第一个生产版本。我们使用领域驱动设计方法开发了应用程序。不幸的是,我们没有编写任何单元测试用例。

我们并没有真正坚持适当的编码实践,以在未来提供灵活性。例如,在下面的代码中,我们没有为数据库连接使用接口,但我们只是直接实例化了数据库连接类:

public class BLLCs_BookStore_Catalog : ICs_BookStore_Catalog
{

    public IEnumerable<ELLCsBook> GetAParticularBook(ObjectId BookIdArg)
    {
        IMongoQuery qry = Query<ELLCsBook>.EQ(l => l.Id, BookIdArg);
        return DBConnection.database.GetCollection<ELLCsBook>(TableNameConstants.BooksTableName)
                                    .Find(qry);
    }
}

可悲的是,有很多代码看起来像上述代码。

问题是仅仅重构现有代码以使用接口将花费大量的精力、时间和金钱。因此,集成单元测试将是一个真正的痛苦。

有人对我们如何进行单元测试有任何建议吗?

4

1 回答 1

2

我强烈建议您使用Typemock Isolator。它不仅允许处理接口,因此无需花费金钱和时间进行重构。

此外,它可以根据您的代码提出单元测试建议,因此也可以节省一些时间。

这里有一个很好的答案/示例,说明如何使用 Typemock 模拟对 mongo 数据库的调用。

希望能帮助到你!

于 2016-03-20T08:24:13.660 回答