Guard::RSpec 错误:未指定 cmd 选项,无法运行规范

Posted

技术标签:

【中文标题】Guard::RSpec 错误:未指定 cmd 选项,无法运行规范【英文标题】:Guard::RSpec error: No cmd option specified, unable to run specs 【发布时间】:2014-09-21 23:01:51 【问题描述】:

升级到 guard 2.6.1 后,guard 停止执行更改文件的规范

13:27:09 - INFO - LiveReload is waiting for a browser to connect. 
13:27:09 - INFO - Guard::RSpec is running 
13:27:09 - INFO - Guard is now watching at '[path to project]'
13:27:13 - INFO - Running: spec/models/[some_model]_spec.rb
13:27:13 - ERROR - No cmd option specified, unable to run specs!

我的包是

Using guard (2.6.1)
Using guard-livereload (2.3.0)
Using guard-rails (0.5.3)
Using guard-rspec (4.3.1)

Using rspec-core (2.14.8)
Using rspec-expectations (2.14.5)
Using rspec-mocks (2.14.6)
Using rspec (2.14.1)
Using rspec-rails (2.14.2)
Using rails (4.0.4)

【问题讨论】:

@Arturo 感谢您添加 ruby​​ 标签 【参考方案1】:

使用Zeus 加速测试执行时的替代答案

guard 'rspec', cmd: "zeus test" do
  #
end

确保在使用 Guard

之前启动 Zeus
> zeus start

【讨论】:

【参考方案2】:

您需要更新您的Guardfile 并添加cmd option。

Guard::RSpec 4.0 现在使用新的cmd 选项更简单的方法 这让您可以精确定义将在哪个 rspec 命令上启动 每次运行。 此选项是必需的,因为有多种不同的方式 可以调用 rspec,模板现在包含一个默认值 应该适用于大多数应用程序,但可能不是所有应用程序的最佳选择。

这是我的 Guardfile 的外观:

guard :rspec, cmd: "bundle exec rspec" do
  # ...
end

【讨论】:

以上是关于Guard::RSpec 错误:未指定 cmd 选项,无法运行规范的主要内容,如果未能解决你的问题,请参考以下文章

指定服务未安装,我用cmd删除服务的时候提示的,看下图

错误(索引):74 未捕获的类型错误:无法设置未定义的属性“cmd”

当没有要指定的确切值“未定义”或“空”时,为 TypeScript 可选参数传递啥? [复制]

将checkbox未选中将设置为指定值并系列化,解决checkbox未选中不传递值问题

使用 cmd 安装 Kivy 会导致“错误:依赖关系......未解决”[关闭]

Windows删除指定后缀文件cmd命令