Travis CI无法使用** / * _ test.rb模式运行测试

当量8

我的微型Ruby项目测试可在我的机器上和私有VM上运行,但在Travis CI bulid上失败

项目同时使用rspec(+ rspec-given)和minitest

完整跟踪在这里:https : //travis-ci.org/equivalent/code_katas/jobs/61321482

    $ bundle exec rake
    MiniTest::Unit::TestCase is now Minitest::Test. From     /home/travis/.rvm/rubies/ruby
    2.1.4/lib/ruby/2.1.0/test/unit/testcase.rb:8:in `<module:Unit>'
    /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:676:in `<class:Runner>': undefined method `_run_suite' for class `Test::Unit::Runner' (NameError)
    from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:261:in `<module:Unit>'
    from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:15:in `<module:Test>'
    from /home/travis/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/test/unit.rb:7:in `<top (required)>'
    from /home/travis/build/equivalent/code_katas/vendor/bundle/ruby/2.1.0/gems/sorcerer-1.0.2/test/sorcerer/resource_test.rb:3:in `require'
    #...

该错误是不言自明的MiniTest::Unit::TestCase is now Minitest::Test这是由使用sourcerspec-given依赖关系引起的(我的代码未引用代码中的任何地方)sorcerertest-unittest-unit

所以我很好奇的是,如果有人知道如何解决这个问题。

就像我说的那样,它在Travis CI以外的其他所有地方都可以使用

当量8

问题是Travis CI正在将存储库克隆到其中/home/travis/build/username/projectname,然后bundle install带有
--deployment将gem安装到vendor文件夹的标志

/home/travis/build/username/projectname/verdor

Rakefile正在使用测试模式,**/*_test.rb因此在所有文件夹中运行测试,因此正在加载verdor目录,并且所有依赖项(外部gem)的测试都与其中的某些项TestUnit不兼容MiniTest

解决方案是在Rakefile中加载测试,而不是pattern使用:

Rake::TestTask.new(:test) do |t| 
  t.test_files = Dir['**/*_test.rb'].reject do |path|
    path.include?('vendor')  # tell travis CI to ignore vendor tests
  end 
end

类似申请RSpec

RSpec::Core::RakeTask.new(:spec) do |t| 
  t.pattern = Dir.glob('**/*_spec.rb').reject do |path|
    path.include?('vendor')  # tell travis CI to ignore vendor tests
  end 
  # t.rspec_opts = '--format documentation'
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在 Travis CI 中使用 Java 运行 exec("cwebp ...")

来自分类Dev

无法在Travis CI上运行凉亭

来自分类Dev

使用travis-ci测试Docker容器

来自分类Dev

无法在Travis-CI上使用Composer运行PHPUnit,找不到类

来自分类Dev

在Travis CI上运行Redis

来自分类Dev

Travis CI运行python脚本

来自分类Dev

g ++ 5.4.0的asan无法在travis CI上运行

来自分类Dev

如何设置Django在Travis CI上的PostgreSQL上运行测试?

来自分类Dev

尽管没有测试,Travis CI运行示例

来自分类Dev

Travis CI仅运行一项测试

来自分类Dev

未捕获的SyntaxError:在严格模式下使用const Travis-ci业力测试与铬投掷

来自分类Dev

未捕获的SyntaxError:在严格模式下使用const Travis-ci业力测试与铬投掷

来自分类Dev

使用Travis CI在UNIX Shell脚本上进行测试

来自分类Dev

Travis CI环境变量在Maven测试中的使用

来自分类Dev

将Travis-ci与wxpython测试一起使用

来自分类Dev

使用Gradle的Travis-CI Android测试保持超时

来自分类Dev

使用Travis CI在UNIX Shell脚本上进行测试

来自分类Dev

使用Travis-CI对多个Vagrant版本进行测试

来自分类Dev

Travis CI环境变量在Maven测试中的使用

来自分类Dev

如何使用Travis CI测试Pl / Python PostgreSQL过程?

来自分类Dev

在Travis CI中使用API身份验证运行测试,而不会暴露API密码

来自分类Dev

如何使用Travis-CI运行.NET Framework 4.7的单元测试?

来自分类Dev

Travis CI无法解析.travis.yml

来自分类Dev

无法使用Travis-CI运行可执行文件-不确定我做错了什么

来自分类Dev

Travis CI Enterprise:成功登录后`travis encrypt`响应`未登录,请运行travis login --pro`

来自分类Dev

在Travis-CI上进行Ajax测试

来自分类Dev

Travis CI跳过测试(Gradle Android项目)

来自分类Dev

在travis ci中跳过mvn测试-B

来自分类Dev

PHPunit在Travis CI上不执行测试

Related 相关文章

  1. 1

    无法在 Travis CI 中使用 Java 运行 exec("cwebp ...")

  2. 2

    无法在Travis CI上运行凉亭

  3. 3

    使用travis-ci测试Docker容器

  4. 4

    无法在Travis-CI上使用Composer运行PHPUnit,找不到类

  5. 5

    在Travis CI上运行Redis

  6. 6

    Travis CI运行python脚本

  7. 7

    g ++ 5.4.0的asan无法在travis CI上运行

  8. 8

    如何设置Django在Travis CI上的PostgreSQL上运行测试?

  9. 9

    尽管没有测试,Travis CI运行示例

  10. 10

    Travis CI仅运行一项测试

  11. 11

    未捕获的SyntaxError:在严格模式下使用const Travis-ci业力测试与铬投掷

  12. 12

    未捕获的SyntaxError:在严格模式下使用const Travis-ci业力测试与铬投掷

  13. 13

    使用Travis CI在UNIX Shell脚本上进行测试

  14. 14

    Travis CI环境变量在Maven测试中的使用

  15. 15

    将Travis-ci与wxpython测试一起使用

  16. 16

    使用Gradle的Travis-CI Android测试保持超时

  17. 17

    使用Travis CI在UNIX Shell脚本上进行测试

  18. 18

    使用Travis-CI对多个Vagrant版本进行测试

  19. 19

    Travis CI环境变量在Maven测试中的使用

  20. 20

    如何使用Travis CI测试Pl / Python PostgreSQL过程?

  21. 21

    在Travis CI中使用API身份验证运行测试,而不会暴露API密码

  22. 22

    如何使用Travis-CI运行.NET Framework 4.7的单元测试?

  23. 23

    Travis CI无法解析.travis.yml

  24. 24

    无法使用Travis-CI运行可执行文件-不确定我做错了什么

  25. 25

    Travis CI Enterprise:成功登录后`travis encrypt`响应`未登录,请运行travis login --pro`

  26. 26

    在Travis-CI上进行Ajax测试

  27. 27

    Travis CI跳过测试(Gradle Android项目)

  28. 28

    在travis ci中跳过mvn测试-B

  29. 29

    PHPunit在Travis CI上不执行测试

热门标签

归档