【问题标题】:how can i automate using mstest?如何使用 mstest 实现自动化?
【发布时间】:2013-01-02 15:19:10
【问题描述】:

我真的很想使用 Visual Studio 2012 实现测试驱动开发

我想使用 http://tfs.visualstudio.com 运行自动化单元测试,因为它们提供了一个构建服务器来运行我的测试。

当我上传我的代码时,所有测试都失败了,因为他们正在寻找我的数据库。

测试自动化的最佳做法是什么?

我应该使用 sql server compact 还是真正的数据库?

【问题讨论】:

    标签: tdd mstest extreme-programming


    【解决方案1】:

    我建议您查看存储库设计模式,以使您的测试独立于您的存储机制。这样您就可以在没有实际数据库的情况下运行测试。

    存储库设计模式允许在存储机制之间轻松切换。这样,当您的代码部署在生产环境中时,您将能够使用真实的数据库,并且您将能够使用模拟或内存存储进行测试。我鼓励您查看 IoC 框架,以便在不同的存储库之间轻松切换。 IoC(控制反转或依赖反转)是学习 TDD 时经常学习的一种技术,因为它使您的代码更易于测试。

    这会有很多好处:

    • 您的测试将运行得更快,因为您不需要连接到数据库

    • 它们将更容易维护,因为您不必担心模式、在测试之间拆除数据库、创建测试数据......

    • 存储库模式将允许您在代码中应用一些关注点分离(请参阅单一职责原则),因为我假设现在您的代码与 Sql Server 紧密耦合(因为没有数据库就无法运行测试)。

    • 您将能够轻松更改存储机制。

    TDD 的内在目标是鼓励良好的代码设计。我建议您查看 SOLID 原则 以获得指导,并查看 F.I.R.S.T 原则 以进行设计良好的单元测试。

    【讨论】:

    • >> 存储库设计模式似乎解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 2017-12-19
    • 2016-10-10
    • 2021-09-28
    • 2018-11-27
    • 2016-11-27
    • 2017-11-13
    • 2020-01-09
    相关资源
    最近更新 更多