什么层需要编写单元测试?

时间:2012-08-31 02:16:08

标签: .net asp.net-mvc-3 wcf unit-testing mstest

我是单元测试/ TDD的新手。我们正在开发具有以下架构的Web应用程序:

  1. MVC
  2. WCF服务层
  3. 业务逻辑层
  4. DAL with EF
  5. 我之前没有进行过单元测试,但是在某些项目中看过它,所以我对它一无所知。

    我们应该为每一层的每个方法编写单元测试,还是这些特定于某层?

    其次我们应该放置一个项目并将所有层单元测试放入其中吗?我想知道如何管理测试项目中所有图层的单元测试?

1 个答案:

答案 0 :(得分:1)

我为一家全敏捷商店工作,我们会做以下事情:

1.我们首先编写UAT(用户验收测试)。对你来说,这可以通过Cucumber + WatiN或类似的东西来完成。它们的编写考虑了业务功能。
2.接下来,我们为我们打算添加的类编写单元测试。这意味着测试每个公共方法及其所有逻辑分支。这几乎适用于除了视图之外的所有内容。
3.对于毛茸茸的代码,我们添加了多个类的集成级测试,以确保它们正确集成。

有些层没有经过测试,因为他们“只是工作”的假设是存在的(即DBMS)

通常你的CI应首先运行单元测试,然后运行集成测试(如果单元测试通过),最后运行最慢且仅当集成测试通过的UAT