2013-01-12 53 views
2

我想在生产环境中的Cron作业中运行单元测试。由于我使用的机器数量有限,我只能在1台生产机器上运行这些单元测试。我没有开发机器/环境。让我们想象一下这样的情况下(即使它不是一个现实,一个坏的设置),我不能改变,在所有:)在生产环境中运行“耙测试”?

是否有可能运行“耙测试”甚至“耙测试RAILS_ENV =在生产环境中测试“?如果我这样做,它会不会在测试数据库上运行测试,而是在生产测试数据库上运行测试?它的确如此,环境是否仅在测试范围内“测试”?

很明显,我可以测试这个,但是因为我不想冒生产数据的风险,所以在做这件事之前我有一个确定的答案。

+2

我不赞成这 –

+0

为什么你会在cron作业上运行测试?您在代码更改时或者即将将更改的代码部署到生产时运行测试。您的代码是否通过cron作业进行更改和部署? –

+0

@AlexWayne我需要测试几个从网站上抓取数据的函数,以及调用APIS。如果该网站或API的架构发生变化,我需要知道。因此需要进行自动化测试。无论他们应该是单位,还是回归,或者其他什么都不重要,但需要在那里。 –

回答

3

是的,这将工作得很好。确保你指定了RAILS_ENV环境变量,就像你已经拥有的那样,并且在database.yml文件中配置了测试数据库。

相关问题