【发布时间】:2015-09-09 21:42:46
【问题描述】:
对测试特定情况的最佳实践感到好奇。
我有一个模型,它需要一些耗时的操作来设置 - 接触外部服务、解析、内核内容等。设置的一个特定部分基本上是可选的 - 我想检查它是否已经完成运行,但结果对于几乎所有测试都无关紧要。
这个模型被用作许多其他类的输入,所以我想避免冗长的测试套件和相对不重要的步骤的霸道设置。
我想知道这是否涵盖了我的基础,或者我是否将这一切都搞错了。
目前,我是:
-
全局删除操作
config.before(:each) 做 LongOperation.any_instance.stub(:the_operation) 结尾 测试它在我的后台作业中被调用
代码:
类 BackgroundSetupWorker 默认执行 LongOperation.the_operation 结尾 结尾和测试:
LongOperation.should_receive(:the_operation)- 对长时间运行的操作进行单元测试
【问题讨论】:
标签: ruby-on-rails ruby unit-testing rspec