繁体   English   中英

当现有代码相当不灵活时,引入单元测试代码

[英]Bringing in Unit testing code when existing code is quite Inflexible

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

MongoDB 3.0.0

MongoDB C#驱动程序版本1.7.0.4714

Microsoft Visual Studio专业版2013

.NET Framework 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);
    }
}

可悲的是,有大量的代码看起来像上述代码。

问题在于,仅重构现有代码以使用接口将需要大量的工作,时间和金钱。 因此,集成单元测试将是一个真正的痛苦。

是否有人对我们仍然可以进行单元测试有任何建议?

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

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

还有就是你可以嘲笑如何使用电话向Typemock蒙戈数据库一个很好的答案/例子在这里

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM