如果我有一些测试,例如
require_relative "Line"
require_relative "LineParser"
describe Line do
it "Can be created" do
load "spec_helper.rb"
@line.class.should == Line
end
it "Can be parsed" do
...
如何打印测试组名称 - 在这种情况下为“Line”。
我尝试添加:
before :all do
puts "In #{self.class}"
end
但是这会产生:In RSpec::Core::ExampleGroup::Nested_3
,而不是Line
答案 0 :(得分:10)
您可能有特定的理由想要在测试期间访问测试名称...但是,为了满足您的需求,只需在测试报告中输出行,我喜欢这样的配置:
RSpec.configure do |config|
# Use color in STDOUT
config.color_enabled = true
# Use color not only in STDOUT but also in pagers and files
config.tty = true
# Use the specified formatter
config.formatter = :documentation
end
这给我的输出如下:
MyClassName
The initialization process
should accept two optional arguments
答案 1 :(得分:4)
答案结果是:
before :all do
puts "In #{self.class.description}"
end
$ rspec line_spec.rb
In Line
答案 2 :(得分:2)
RSpec将read command line arguments from a file,因此您可以将以下内容添加到项目根目录中的preventDefault
文件中:
.rspec
(此文件可能已存在,具体取决于您为RSpec使用的gem以及如何安装它。)