我正在使用:
昨天我安装了后卫,插件 livereload 和 minitest 。
我使用 guard 来自动化我的测试,并确保没有任何错误被打破。
我发现由于某种原因,后卫没有对文件更改做出反应。当它首次启动时,它运行所有测试,给我一个提示,我必须在提示中按Enter键,然后,它再次开始所有测试 < / em> ,每轮大约需要1小时。
答案 0 :(得分:0)
谷歌搜索并尝试了我发现的一切后,似乎没有任何效果。所以,我冷静下来,决定和守卫一起玩。
发现并解决了问题。
问题:警卫对文件更改没有反应(正在观看)
原因: Guardfile中使用的正则表达式,似乎与rails 5.1.5文件路径不兼容
<强> SOLUTION:强>
guard :minitest do
watch(%r{^app/views/(.+)_mailer/.+}) { |m| "test/mailers/#{m[1]}_mailer_test.rb" }
watch(%r{^test/.+_test\.rb$})
watch(%r{^test/test_helper\.rb$}) { 'test' }
watch(%r{^app/controllers/(.*)\.rb$}) { |m| "test/functional/#{m[1]}_test.rb" }
watch(%r{^app/controllers/(.*)\.rb$}) { |m| "test/controllers/#{m[1]}_test.rb" }
watch(%r{^app/controllers/(.*)\.rb$}) { |m| "test/integration/#{m[1]}_test.rb" }
watch(%r{^app/helpers/(.*)\.rb$}) { |m| "test/helpers/#{m[1]}_test.rb" }
watch(%r{^app/mailers/(.*)\.rb$}) { |m| "test/mailers/#{m[1]}_test.rb" }
watch(%r{^app/models/(.*)\.rb$}) { |m| "test/models/#{m[1]}_test.rb" }
watch(%r{^app/veiws/(.*)\.rb$}) { |m| "test/system/#{m[1]}_test.rb" }
end
我希望这对你有用。
答案 1 :(得分:0)
我很好地调整了正则表达式。他们来了:
guard :minitest do
watch(%r{test\/.+\.rb})
watch(%r{app\/controllers\/(.*)\.rb}) { |m| "test/controllers/#{m[1]}_test.rb" }
watch(%r{app\/controllers\/(.*)\.rb}) { |m| "test/integration/#{m[1]}_test.rb" }
watch(%r{app\/helpers\/(.*)\.rb}) { |m| "test/helpers/#{m[1]}_test.rb" }
watch(%r{app\/models\/(.*)\.rb}) { |m| "test/models/#{m[1]}_test.rb" }
watch(%r{app\/mailers\/(.*)\.rb}) { |m| "test/mailers/#{m[1]}_test.rb" }
watch(%r{app\/views\/(.*)\/.*\.html\.haml}) { |m| "test/system/#{m[1]}_test.rb" }
watch(%r{app\/views\/(.*)\/.*\.coffee}) { |m| "test/system/#{m[1]}_test.rb" }
end