我想运行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 你不想连接到远程资源的测试/规格内。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top