复杂算法，如果使用模拟对象代替真实对象可以很容易地表达出来。除了复杂性问题和关注点分离带来的好处，还有实际的速度问题。使用测试驱动开发 (TDD)开发一段实际的软件很容易就有数百个单元测试。如果这些单元测试中许多都涉及到与数据库，Web服务和其他进程间通讯或网络系统的通讯，单元测试的组合会很快会慢到无法执行例行测试。而这会导致坏的习惯以及程序员不愿意维护测试驱动开发的基本原则。当模拟对象被替换为真实对象，端到端的功能仍需要进一步的测试。这将不再是单元测试，而是集成测试。
局限