白板的微信
开场白:如果你查一下这个名词模拟在字典中你会发现这个词的一个定义是仿制品,仿制品.模拟主要用于单元测试。被测试对象可能依赖于其他(复杂)对象。要隔离对象的行为,需要用模拟真实对象行为的模拟来替换其他对象。如果实际的对象不实际地合并到单元测试中,这是有用的。简而言之,模仿就是创建模拟真实对象行为的对象。有时你可能想要区分嘲弄相对于顽固不化..在这个主题上可能有一些分歧,但我对存根的定义是一个“最小”的模拟对象。存根实现的行为刚好足以允许被测试对象执行测试。模拟与存根类似,但测试也将验证被测试对象是否按预期调用模拟。测试的一部分是验证模拟是否正确使用。举个例子:您可以通过实现一个简单的内存中存储记录的结构来对数据库进行存根。然后,被测试对象可以将记录读写到数据库存根,从而允许它执行测试。这可以测试与数据库无关的对象的某些行为,并且只为了让测试运行,就会包含数据库存根。如果要验证被测试的对象是否将某些特定数据写入数据库,则必须模拟数据库。然后,您的测试将包含有关写入数据库模拟的内容的断言。