只测试一个或用Rspec描述

Joe*_*MAR 4 rspec rspec2 ruby-on-rails-3

在TestUnit上,您可以使用-n选项在文件中启动一个测试

例如

require 'test_helper'

class UserTest < ActiveSupport::TestCase

  test "the truth" do
    assert true
  end

  test "the truth 2" do
    assert true
  end

end
Run Code Online (Sandbox Code Playgroud)

你只能执行测试真相

ruby -Itest test/unit/user_test.rb -n test_the_truth
Run Code Online (Sandbox Code Playgroud)

输出

1 tests, 1 assertions, 0 failures, 0 errors, 0 skip
Run Code Online (Sandbox Code Playgroud)

怎么能用rspec?

该命令似乎不起作用

rspec spec/models/user_spec.rb -e "User the truth"
Run Code Online (Sandbox Code Playgroud)

Rob*_*vis 7

您没有包含规范的来源,因此很难说问题出在哪里,但通常您可以使用该-e选项运行单个示例.鉴于此规范:

# spec/models/user_spec.rb
require 'spec_helper'
describe User do

  it "is true" do
    true.should be_true
  end

  describe "validation" do
    it "is also true" do
      true.should be_true
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

这个命令行:

rspec spec/models/user_spec.rb -e "User is true"
Run Code Online (Sandbox Code Playgroud)

会产生这样的输出:

Run filtered including {:full_description=>/(?-mix:User\ is\ true)/}
.

Finished in 0.2088 seconds
1 example, 0 failures
Run Code Online (Sandbox Code Playgroud)

如果你想调用另一个嵌套在验证组内的例子,你可以使用它:

rspec spec/models/user_spec.rb -e "User validation is also true"
Run Code Online (Sandbox Code Playgroud)

或者运行验证组中的所有示例:

rspec spec/models/user_spec.rb -e "User validation"
Run Code Online (Sandbox Code Playgroud)