【发布时间】:2016-09-03 07:20:05
【问题描述】:
我们小组刚刚开始研究 TDD 和单元测试。我们已经开始了存储库模型的道路,并且是可疑的。它似乎只测试一小部分代码,而需要大量的编码时间。我们还发现,大大增加的复杂性更难支持。再加上 SQL 或 UI 层中的大量业务逻辑没有被覆盖,并且需要更复杂的代码来覆盖该代码,......这似乎是在浪费时间。
不要误会我的意思,我想实现 TDD,但我想要一个从 UI 到 DB 进行测试的完整解决方案。是的,我知道这被称为集成测试,我真的不明白为什么有些人如此急切地指出 IT 与 UT 有很大不同,这是显而易见的。但是您为什么要选择 UT,带来如此多的复杂性,而您的努力却获得如此少的覆盖面。
您使用集成测试以哪些方式实施 TDD?
【问题讨论】:
-
用户 Blue Clouds 在其他地方有一个帖子,表明他在这方面取得了成功,我希望他能为这个线程做出贡献。
-
你可以看看 MVC (MVP) 架构,这使得 biz 逻辑代码在 UI 层中非常少见(并且只是微不足道的)。纯“模型”层往往更容易使用 UT 进行测试(尽管存储在 DB 中的过程以及与 DB 紧密耦合的代码可能更棘手,但在我的一个项目中,我在 DB 中有这样一部分功能,我宁愿在临时内存数据库上运行 UT,牺牲一些 UT 速度(从 ~1s 到 ~10s),以免在测试中模拟太多)。在那个特定的项目中,我什至根本没有使用 UI 层测试,因为 UI 只是模型之上的微不足道的薄层,而是 YMMV。
标签: unit-testing tdd integration