我们正在向Rails应用程序编写测试,我们需要测试一个控制器,我们几乎每个请求都会传递一个标头,但不是全部。
您传递了标头设置setup
,但我们只想在某些测试中执行此操作,而不是全部,因此在interface MyService{
@PreAuthorize()
void foo(){
}
中使用此行不是一个选项,但我们认为不正确每发出一次请求,重复20或30次。
我们怎么能实现这个目标?
答案 0 :(得分:1)
如果您正在使用rspec
,则可以将它们分成两个不同的上下文,然后针对该上下文执行before
:
describe MyController do
context 'with specific header' do
before :all do
@request.headers['my-header'] = 'my-header-content'
end
end
context 'other context' do
#Tests without context
end
end
如果你正在使用minitest
,你可以随时将测试分成几类。然后将一个类设为特定标题,将另一个类设置为其他测试。