我创建了一个宝石项目,并添加MINITEST和保护的依赖关系:护MINITEST没有找到测试执行当被测课改
spec.add_development_dependency "minitest", "~> 5.0.7"
spec.add_development_dependency 'guard-minitest'
我使用MINITEST规格所以在测试中所有的代码位于lib
目录中,并且所有测试都在spec
中。
我创建了一个Guardfile与相应的设置:
guard :minitest do
# with Minitest::Spec
watch(%r{^spec/(.*)_spec\.rb})
watch(%r{^lib/(.+)\.rb}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^spec/spec_helper\.rb}) { 'spec' }
end
每次我修改规范(比如spec/shell/remote_shell_spec.rb
)测试正确执行。
# Running:
.......
Fabulous run in 0.064205s, 109.0261 runs/s, 529.5554 assertions/s.
7 runs, 34 assertions, 0 failures, 0 errors, 0 skips
的问题是,当我在测试修改代码(比如lib/shell/remote_shell.rb
)后卫检测的变化,但不执行测试:
# Running:
Finished in 0.000824s, 0.0000 runs/s, 0.0000 assertions/s.
0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
这看起来不错。你确定你没有任何错别字吗? '%r {^ lib /(。+)\。rb}'将匹配'lib/shell/remote_shell.rb',捕获组将会是'shell/remote_shell',将被转换为'spec/shell/remote_shell_spec .rb'。 – Netzpirat
我直接从Guardfile复制/粘贴代码。我也让Guardfile输出'm [1]'的值到一个文件中。看起来是正确的('shell/remote_shell')。 – Jef
源代码可在这里找到:https://github.com/servebox/electric_sheeps – Jef