0

我正在尝试对 travis-ci 进行集成测试。我希望能够在 travis 上运行包含过滤器。总而言之,我希望能够在本地运行快速测试,而 travis-ci 测试快速测试和慢速测试,包括依赖互联网的测试。我曾尝试在 .travis.yml 下使用 --tag ~slow_tests ,但它给了我一个错误。这是我的 .yml 文件。

language: ruby             
rvm:                       
  - 1.9.3                  

env:                       
  - DB=sqlite              

script:                    
  - RAILS_ENV=test bundle exec rake --trace db:migrate spec --tag ~slow_tests                                                                                                                             

services:                  
  - redis-server

无效选项:--tag 129 130命令“RAILS_ENV=test bundle exec rake --trace db:migrate spec --tag ~slow_tests”以 1 退出。

4

1 回答 1

2

您遇到的问题是该--tag选项被解释为rake没有这样的选项。因此,您需要一种将命令行选项传递给 RSpec 的方法。您可以使用 SPEC_OPTS 环境变量来做到这一点:

script:
  - RAILS_ENV=test bundle exec rake --trace db:migrate spec SPEC_OPTS="--tag ~slow_tests"
于 2013-03-12T14:17:48.757 回答