gpt4 book ai didi

unit-testing - RSpec: 'allow_any_instance_of' 的替代方法是什么?

转载 作者:行者123 更新时间:2023-12-01 06:08:35 24 4
gpt4 key购买 nike

the documentation Rspec Mocks 维护者

... discourage its use for a number of reasons...



列出的原因似乎与 expect 有关。此功能的版本,但它们在两者之间没有区别。

我明白为什么 expect不鼓励版本,但 allow版本似乎没有共享列出的问题。

好像在使用 allow version 是测试某些类型行为的最方便的方法。

示例:

我正在测试某些路线的授权。一种方法是在数据库中创建一个用户,但这似乎相当笨拙,我更喜欢只创建一个模拟对象并在授权调用期间返回它。此示例是使用复杂库的测试代码的特定案例,这些库是单独测试的。

鉴于它不鼓励,什么是更好的选择?

最佳答案

根据您发布的文档,不使用 allow_any_instance_of 的原因是它过于笨拙,可以掩盖您可能会错过的潜在代码气味。话虽如此,我仍然使用它......他们绝对没有提供替代方案,所以如果您需要该功能并且已经考虑了其他选项或其他方法来编写您的测试并决定反对这些,请使用它。

关于unit-testing - RSpec: 'allow_any_instance_of' 的替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34756197/

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