【问题标题】:Data driven unit tests with MSTest使用 MSTest 进行数据驱动的单元测试
【发布时间】:2009-02-23 20:54:32
【问题描述】:

我正在开发一个使用 MSTest 进行单元测试的项目,我需要为与数据源紧密耦合的模型类编写一些单元测试。我们在数据库项目 (.dbproj) 中维护模型类所依赖的数据库的源代码。我想做的是在我的测试类上编写一个 ClassInitialize 方法,该方法使用数据库项目以编程方式构建我们数据库的 SQL CE 实例,然后我可以填充可以将模型类连接到并对其执行测试的数据已知数据。

如果有人有其他建议,我愿意接受。

我想弄清楚如何从我的 ClassInitialize 方法的代码中运行这个数据库项目。我还没有找到任何很好的例子来说明如何做这样的事情。这可能吗?如果是这样,怎么做?有人有代码示例吗?谢谢。

【问题讨论】:

    标签: sql-server-ce mstest


    【解决方案1】:

    不幸的是,数据层的单元测试是出了名的困难。我能建议的最好的方法是为您的数据层构建一个通用接口,并为您的业务层调用数据层模拟该接口。

    如果您尝试对数据层进行单元测试,您将陷入痛苦的世界。我建议您跳过它并尝试在集成测试期间清除任何数据层错误。

    也就是说,如果您使用的是 LINQ to SQL,前几天我遇到了this article,它展示了如何模拟 LINQ to SQL 存储库。它需要一些额外的工作才能让它工作,但它可能对你有用。

    【讨论】:

      【解决方案2】:

      也许您应该考虑模拟 - moq 是一个很好的起点。基本上,模拟是拥有一个框架,可以模拟代码中的依赖项以帮助测试。

      【讨论】:

        【解决方案3】:

        我同意 cmets 关于 mocking 的看法,但您仍然可以进行自动化集成测试来练习您的存储库中的方法,例如类。

        我对我使用的一项技术做了非常详细的描述(通过 MS 测试)here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-18
          • 1970-01-01
          相关资源
          最近更新 更多