我有一些在特拉维斯上运行的水豚写的集成测试。在测试中,我使用visit
方法打开硬编码的URL(由Pow和符号链接提供)。这在Travis当然不适用。我需要做的是以某种方式区分环境。因此,当测试在Travis上运行时,它们会打到不同的url,例如localhost:5000。我把它放在我的.Travis.yml
文件中,它会在后台运行正常的情况下启动rails server
。问题是如何让测试使用该网址?在特拉维斯CI上运行水豚测试不同的网址
我的配置看起来是这样的:
language: ruby
rvm:
- 1.9.3
before_script:
- RAILS_ENV=test bundle exec rake db:create
- "bundle exec rails server -p 5000 &"
- "sleep 5" # Wait for the server to start up"
script: bundle exec rspec
我使用PhantomJS
通过poltegeist
宝石。我在想,如果我能以某种方式使用Travis env var。任何人对此有任何建议? 谢谢!
谢谢比利。当然硬编码路径只是概念证明。不坚持:)。 – Tim 2013-05-07 11:34:11
@Tim,如果你能发布你如何解决这个问题,然后接受你自己的答案(这个问题被标记为堆栈溢出回答),这将是非常棒的。 – henrikhodne 2013-07-17 20:56:19