我应该如何运行Rspec的离线时对付网上的依赖?
-
25-09-2019 - |
题
我想运行RSpec的测试我的代码都当我连接到网络,当我没有。
不幸的是在应用程序中的一些测试,其依赖于具有实时连接 - 电子邮件发送,Facebook的整合等
有一个最佳实践方式在网上创建/离线测试环境,或者这是不好的做法?通过我怎么一点可以找到关于这个我猜测,后者在网络上来看。
解决方案
通常,在这样你会嘲笑代码连接外应用程序的部分情况。这使您可以对从您连接到服务/系统预期的效果测试。这也是更快的运行测试。
有关于使用RSpec rel="nofollow">这里嘲讽一个简短的教程,但我敢肯定,你可以自己找到很多。
有关测试,如果你是通过发送的ActionMailer该电子邮件被发送还有其他方法。有上,在的截面导轨测试指南。
EDIT(响应于评论):
你可以把一个方法TestHelper
只运行测试时,你是否在线。是这样的:
def when_online
if test_remote_connectivity
yield
else
puts "Skipping test offline."
end
end
然后,可以调用它像:
def test_facebook
when_online do
.....
end
end
不知道我完全主张,但它可能会做你想要的!
其他提示
您可以使用 webmock 你不想连接到远程资源的测试/规格内。
不隶属于 StackOverflow