作为作业的一部分,我正在创建一个基本网站。 当rails服务器未运行且我对根目录执行“rspec”时,执行rspec 。但测试失败了。当我启动rails服务器并从另一个终端窗口执行rspec(在转到根目录后),rspec不起作用。我收到以下消息 -
Tushars-MacBook-Pro:recipefinder tusharsaurabh $ rspec -bash:rspec:找不到命令
请告诉我,如何解决。
答案 0 :(得分:7)
也许您的rspec
命令未在系统范围内安装,没问题,请尝试运行
bundle exec rspec
它应该有用。
答案 1 :(得分:1)
您无需运行rails服务器即可执行rspec。 Rspec独立运行。只需运行rspec spec
。它将运行您在项目的spec文件夹中编写的规范。
如果你需要两个都运行那么你需要做这样的事情。它可能会工作。请试一试。
添加到您的gem文件:
group :development, :test do
gem 'rspec-rails'
end
从你的控制台点击捆绑包。
bundle
rails generate rspec:install
答案 2 :(得分:1)
我使用gem install rspe
解决了这个问题。有我找到的其他解决方案,但我没有尝试:sudo gem install rspec
,另一个bundle exec rspec spec
答案 3 :(得分:0)
我在处理 Rails 6 应用程序时遇到了同样的挑战:
使用以下方法将 rspec
添加到我的 Gemfile
后:
group :test do
gem 'rspec-rails', '~> 5.0'
end
并使用 bundle install
安装它,当我运行命令 rspec
时出现错误:
未找到 rspec 命令
这是我修复它的方法:
解决方案 1
由于 rspec
并未全局安装在您的系统上,而是在您的项目中,因此您每次都需要运行该命令:
bundle exec rspec
解决方案 2
我们可以为 rspec 生成 binstub,而不是冗长的 bundle exec rspec
,这样我们就可以使用 bin/rspec
或仅使用 rspec
运行我们的规范:
bundle binstubs rspec-core
注意:关闭你当前的终端/shell并在运行命令后重新打开一个新的
现在您可以运行命令 rspec
,一切都会好起来的。
仅此而已。
我希望这会有所帮助