我正在尝试一些非常常见的东西我认为但由于交易示例,我无法做到这一点。
这是我想要做的事情
class A < ActiveRecord::Base
has_many :b
end
class B < ActiveRecord::Base
belongs_to :a
end
对于测试用例
describe A do
before(:all) do
@a = Factory.create :a
@a.b.create()
# Lot of other things which is common to all example
end
it { expect state_one(@a) }
it { expect state_two(@a) }
end
我要做的是在前一部分中为测试设置所有前提条件,并且每个示例只有一个期望。问题是在示例的上下文中,表A或B中都没有行。
请告诉我这是否是正确的方法,如果是的话我该怎么办?
答案 0 :(得分:1)
您可以进行如下设置:
describe A do
subject do
create(:a).tap do |a|
create(:b, a: a)
end
end
before(:all) do
# Lot of other things which is common to all example
end
context 'state_one' do
it { expect state_one(@a) }
end
context 'state_two' do
it { expect state_two(@a) }
end
end
假设您有a
和b
的工厂并正确设置他们的关联。