Tests do not run when file changes with Guard and rspec on windows
Asked Answered
B

2

7

I've installed the guard-rspec gem for use in my rails application. When I start up guard from the command line via bundle exec guard, it runs my entire test suite the first time with no problem.

However, any time I make any changes to a spec file or any watched files as specified in my Guardfile, Guard doesn't seem to recognize the changes and no tests are rerun.

I even tried putting something every explicit in my Guardfile like this:

watch("app/views/orders/new.html.erb")          { "spec/requests/orders_spec.rb" }

which should trigger my orders_spec.rb test to run when I edit and save new.html.erb correct? Well, when I edit it and hit save, nothing happens, not even an error or a warning.

Has anyone had any luck running Guard on windows or encountered a similar problem?

Begley answered 1/8, 2012 at 19:49 Comment(0)
P
9

I'm not a Windows user and this is not from my personal experience, but as a Guard maintainer I often hear that the fchange gem has its problems. You can force Guard polling for changes and thus skip fchange with:

bundle exec guard -p

Maher Sallam has addressed this issue and created wdm, which seems to be more reliable. There's also a pull request for integrate it into Guard. I recommend you to test the integration and give Maher some feedback from a real world Windows user, since Maher is a Linux guy :P

Patellate answered 2/8, 2012 at 8:42 Comment(0)
C
1

I had this issue (but on a Mac). I had a spec for a service class, and when I saved the spec the tests ran in guard, but when I saved the service class the corresponding spec did not run. Only this class was affected. Turns out my spec's filename had a typo in it and didn't match the name of the class's filename. If your spec isn't running on save, make sure your filenames are correct.

Caudillo answered 27/8, 2019 at 13:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.