Ruby on rails 是否可以在其他RSpec测试之前运行一个RSpec测试?
我在测试中使用Ruby on rails 是否可以在其他RSpec测试之前运行一个RSpec测试?,ruby-on-rails,ruby,rspec,factory-bot,Ruby On Rails,Ruby,Rspec,Factory Bot,我在测试中使用factory\u bot,希望在运行任何测试之前验证所有工厂。我为这种验证编写了一个测试,并希望它首先运行——这在RSpec中可行吗 是的,这是可行的,请参阅以下帖子:。方法是创建一个factories\u spec,然后将其作为先决条件添加到rake文件中 (1) 创建工厂等级库文件: # spec/factories_spec.rb FactoryBot.factories.map(&:name).each do |factory_name| descr
factory\u bot
,希望在运行任何测试之前验证所有工厂。我为这种验证编写了一个测试,并希望它首先运行——这在RSpec中可行吗 是的,这是可行的,请参阅以下帖子:。方法是创建一个factories\u spec
,然后将其作为先决条件添加到rake文件中
(1) 创建工厂等级库文件:
# spec/factories_spec.rb
FactoryBot.factories.map(&:name).each do |factory_name|
describe "The #{factory_name} factory" do
it 'is valid' do
expect(build(factory_name)).to be_valid
end
end
end
(2) 要在rake规范中添加先决条件,请执行以下操作:
# Rakefile
if defined?(RSpec)
desc 'Run factory specs.'
RSpec::Core::RakeTask.new(:factory_specs) do |t|
t.pattern = './spec/factories_spec.rb'
end
end
task spec: :factory_specs
(3) 使用
rake spec
是的,这是可行的,请参阅此帖子:。方法是创建一个factories\u spec
,然后将其作为先决条件添加到rake文件中
(1) 创建工厂等级库文件:
# spec/factories_spec.rb
FactoryBot.factories.map(&:name).each do |factory_name|
describe "The #{factory_name} factory" do
it 'is valid' do
expect(build(factory_name)).to be_valid
end
end
end
(2) 要在rake规范中添加先决条件,请执行以下操作:
# Rakefile
if defined?(RSpec)
desc 'Run factory specs.'
RSpec::Core::RakeTask.new(:factory_specs) do |t|
t.pattern = './spec/factories_spec.rb'
end
end
task spec: :factory_specs
(3) 使用
rake spec
非常感谢。我以前确实看过这篇文章,但我不想仅仅因为一次测试就使用rakespec
而不是rspec
。你认为这里有解决办法让我可以继续使用rspec
?我不知道,对不起。谢谢。我以前确实看过这篇文章,但我不想仅仅因为一次测试就使用rakespec
而不是rspec
。您是否认为这里有一个解决方法,以便我可以继续使用rspec
?对不起,我没有发现任何问题。为什么您希望先运行此测试?只需使用focus:true
,直到测试通过,然后运行整个套件。因为如果工厂测试失败,我的套件几乎也将不可避免地失败。我想从一开始就知道这一点,并节省宝贵的时间。为什么要先运行此测试?只需使用focus:true
,直到测试通过,然后运行整个套件。因为如果工厂测试失败,我的套件几乎也将不可避免地失败。我想从一开始就知道这一点,节省宝贵的时间。