单元测试 - 隔离测试

Ste*_*ard 3 unit-testing stub

我有一个有多个图层的设置:

  • 网站
  • 申请/服务
  • 域(包含实体)
  • 持久性(包含存储库)

我正在使用从存根对象在内存中创建的数据来隔离测试持久层.

现在,我正在考虑测试我的网站层.我知道我应该单独测试它,我认为这意味着为它使用的Application层对象创建一个存根但是这个存根需要它自己的内存数据集,在持久层中的stub中重复,我不想这样做复制它并管理它.

所以我的问题是,测试对象是否应该始终使用下面层中的存根对象才能被隔离,并且它们通常是否有自己的数据集?或者我的Web方法是否可以在Application Layer中调用轻量级对象,该对象使用存根数据调用Persistence层?

谢谢你的帮助.对我来说这感觉就像拼图的最后一点......

jas*_*son 5

理想情况下,在单元测试中,每个受测试的主体都与其依赖关系隔离.您不希望认为您所测试的主题被破坏,因为其中一个依赖项已破坏并导致测试中的主题失败.如果你这样测试,你可能会花很多时间在错误的地方追踪错误.

测试事物如何一起运行是集成测试的领域,而不是单元测试