【问题标题】:Tests do not run when file changes with Guard and rspec on windows在 Windows 上使用 Guard 和 rspec 更改文件时不运行测试
【发布时间】:2012-07-30 18:40:14
【问题描述】:

我已经安装了用于我的 rails 应用程序的 guard-rspec gem。当我通过bundle exec guard 从命令行启动警卫时,它第一次运行我的整个测试套件没有问题。

但是,每当我对我的 Guardfile 中指定的规范文件或任何监视的文件进行任何更改时,Guard 似乎都无法识别这些更改并且不会重新运行任何测试。

我什至尝试在我的 Guardfile 中添加一些明确的内容,如下所示:

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

当我编辑和保存new.html.erb 时,哪个应该触发我的orders_spec.rb 测试运行,对吗?好吧,当我编辑它并点击保存时,什么都没有发生,甚至没有错误或警告。

有没有人在 Windows 上运行 Guard 或遇到过类似的问题?

【问题讨论】:

    标签: ruby-on-rails rspec rspec-rails guard


    【解决方案1】:

    我不是 Windows 用户,这不是我个人的经验,但作为 Guard 维护者,我经常听到 fchange gem 有其问题。您可以强制 Guard 轮询更改,从而跳过 fchange:

    bundle exec guard -p

    Maher Sallam 已经解决了这个问题并创建了wdm,这似乎更可靠。还有一个 pull request 用于将其集成到 Guard 中。我建议您测试集成并给 Maher 一些来自真实世界 Windows 用户的反馈,因为 Maher 是 Linux 专家:P

    【讨论】:

    • 这解决了我的问题谢谢!
    【解决方案2】:

    我遇到了这个问题(但在 Mac 上)。我有一个服务类的规范,当我保存规范时,测试会在警戒中运行,但是当我保存服务类时,相应的规范没有运行。只有这个类受到影响。原来我的规范文件名中有错字,并且与类文件名的名称不匹配。如果您的规范在保存时没有运行,请确保您的文件名正确。

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 1970-01-01
      • 2014-06-27
      • 2014-03-06
      • 1970-01-01
      • 2019-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多