我正在跟随制作你自己的宝石 http://guides.rubygems.org/make-your-own-gem来自 RubyGems 的指南。执行rake test
指令失败如下:
> rake test
~/.rbenv/versions/2.1.2/lib/ruby/2.1.0/minitest/unit.rb:26:in `const_missing': uninitialized constant MiniTest::Test (NameError)
<rest of output truncated>
我认为这是因为正在使用的最小版本是4.7.5
并不是5.6.0
(或任何需要具备的 5.0.0 系列MiniTest::Test
有效)。所以我安装了minitest 5.6.0
现在我有两个版本minitest
。然而rake test
仍然只会使用4.7.5
版本。
我怎样才能让它运行rake test
使用权利minitest
在《指南》的设定范围内?
直接使用 ruby 即可:
> ruby -Ilib test/test_hola.rb
Run options: --seed 48777
# Running:
...
Finished in 0.002862s, 1048.3550 runs/s, 1048.3550 assertions/s.
3 runs, 3 assertions, 0 failures, 0 errors, 0 skips
删除 minitest 4.7.5 几乎是不可能的;)。
Setup
- rbenv 0.4.0-129-g7e0e85b 下的 Ruby 2.1.2
- 耙子(10.1.0)
- 迷你测试(5.6.0、4.7.5)
- 乌班图14.04
Edit
Adding gem "minitest"
in Rakefile
and/or test_hola.rb
并不能解决问题。
我使用的解决方案是删除位于以下位置的旧 minitest 目录:~/.rbenv/versions/2.1.2/lib/ruby/2.1.0/minitest/
.
确实,尽管gem list minitest -d
返回:
*** LOCAL GEMS ***
minitest (5.6.0, 4.7.5)
Author: Ryan Davis
Homepage: https://github.com/seattlerb/minitest
License: MIT
Installed at (5.6.0): ~/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0
(4.7.5, default): ~/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0
minitest provides a complete suite of testing facilities supporting
TDD, BDD, mocking, and benchmarking
the default minitest
位置实际上是~/.rbenv/versions/2.1.2/lib/ruby/2.1.0/minitest/
。较新的报告位置minitest
(5.6.0
在这种情况下)是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)