我想刷脑来避免混淆。简而言之,关于TDD模拟过程可以说什么
答案 0 :(得分:4)
答案 1 :(得分:4)
我建议你从这里开始:
这篇文章可能让我想到了关于模拟的正确方法。当然,模拟的对象通常很重(否则它可能不值得嘲笑)但是它在某种意义上并不一定非常重,因为它强烈依赖于像数据库这样的外部系统。它可能只是一个复杂的部分,您需要隔离以有效地仅测试您的类,而不是依赖。
答案 2 :(得分:4)
除了从正在测试的单元中消除数据库和其他缓慢或辅助问题之外,模拟还允许您开始为类编写测试而无需实现任何协作类。
当你设计一些功能时,你会意识到你需要一些其他的类或服务,以便坚持单一的责任原则,但是你必须实现那些以使第一个工作,这反过来将证明还需要更多的课程。
如果您可以模拟或存根这些依赖项,那么您可以创建第一个类将依赖的接口,而不必实际在该类之外实现任何内容 - 只需从接口的存根返回预设结果。
这是测试优先方法的重要组成部分。