我有一个简单的Meteor应用程序。我想在服务器端定期运行一些代码。我需要在远程站点上轮询XML命令。
它看起来像这样(咖啡脚本):
unless process.env.ORDERS_NO_FETCH
Meteor.setInterval ->
checkForOrder()
, 600000
我正在使用Velocity进行测试。我不希望这个代码在运行测试的镜像实例中运行(否则它将挖走我的XML命令,我不会在实际实例中看到它们)。因此,为此,我想知道如何判断服务器代码是否在测试环境中运行,以便我可以避免设置定期检查。
编辑我意识到我错过了在测试中伪造我的一个服务器调用,这就是为什么我的测试代码从真实服务器获取一个XML命令。所以,这可能不是问题。我不确定如何为服务器代码运行测试,以及服务器代码是否在镜像中运行(仅限客户端概念)?
答案 0 :(得分:3)
使用mocha / jasmine集成测试时,服务器和客户端都在镜像中运行。
如果您想知道自己是否在镜子中,可以使用:
Meteor.call('velocity/isMirror', function(err, isMirror) {
if (isMirror) {
// do something
}
});
此外,您可以在服务器上使用:
process.env.IS_MIRROR
你已经搞假了,这是正确的方法。