我希望能够运行单个规范文件的测试—例如,对于我正在编辑的一个文件。Rake spec执行所有的规范。我的项目不是Rails项目,所以rake spec:doc不起作用。

不知道这是否重要,但这是我的目录结构。

./Rakefile
./lib
./lib/cushion.rb
./lib/cushion
./lib/cushion/doc.rb
./lib/cushion/db.rb
./spec
./spec/spec.opts
./spec/spec_helper.rb
./spec/db_spec.rb

当前回答

原始调用:

rake spec SPEC=spec/controllers/sessions_controller_spec.rb \
          SPEC_OPTS="-e \"should log in with cookie\""

现在弄清楚如何将其嵌入到编辑器中。

其他回答

原始调用:

rake spec SPEC=spec/controllers/sessions_controller_spec.rb \
          SPEC_OPTS="-e \"should log in with cookie\""

现在弄清楚如何将其嵌入到编辑器中。

或者你可以跳过rake,使用'rspec'命令:

bundle exec rspec path/to/spec/file.rb

在你的情况下,我认为只要你的。/spec/db_spec。Rb文件包括适当的帮助,它应该工作良好。

如果你正在使用rspec的旧版本,它是:

bundle exec spec path/to/spec/file.rb

运行你所有的rspec文件:rspec

注意:你必须在项目的根目录下

运行一个rspec文件:rspec 'path_to/spec.rb'

注意:替换'path_to/spec。跟着你的路走。可选引号。

rspec 'path_to/spec.rb:7'

注意::7是测试开始的行号

如果您将rspec作为插件而不是gem安装,那么您将无法获得规范可执行文件。

无论如何,您所需要做的就是使用ruby运行该文件。rspec代码足够聪明,可以为您运行测试。

eg:

ruby myclass_spec.rb

Ruby 1.9.2和Rails 3有一个简单的方法来运行一个规范文件:

  ruby -I spec spec/models/user_spec.rb

解释:

Ruby命令往往比rake命令快 -I spec的意思是“在查找文件时包含'spec'目录” 规范/模型/ user_spec。Rb是我们要运行的文件。