gpt4 book ai didi

unit-testing - 什么是模拟?

转载 作者:行者123 更新时间:2023-12-03 03:54:49 26 4
gpt4 key购买 nike

什么是模拟? .

最佳答案

序言:如果您在字典中查找名词mock,您会发现该词的定义之一是模仿的东西

<小时/>

模拟主要用于单元测试。被测对象可能依赖于其他(复杂)对象。为了隔离要测试的对象的行为,您可以用模拟真实对象行为的模拟来替换其他对象。如果真实对象无法合并到单元测试中,这非常有用。

简而言之,模拟就是创建模拟真实对象行为的对象。

<小时/>

有时您可能想要区分模拟 stub 。关于这个主题可能存在一些分歧,但我对 stub 的定义是“最小”模拟对象。 stub 实现了足够的行为来允许被测对象执行测试。

模拟就像一个 stub ,但测试还将验证被测对象是否按预期调用模拟。测试的一部分是验证模拟是否正确使用。

举个例子:您可以通过实现一个简单的内存结构来存储记录来 stub 数据库。然后,被测试的对象可以读取记录并将其写入数据库 stub ,以允许其执行测试。这可以测试与数据库无关的对象的某些行为,并且将包含数据库 stub 只是为了让测试运行。

如果您想验证被测对象是否将某些特定数据写入数据库,您将必须模拟数据库。然后,您的测试将包含有关写入数据库模拟的内容的断言。

关于unit-testing - 什么是模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2665812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com