根據rails 4.2.4
和rspec 3.4
的升級,我正在修復大型應用中的規格。以前的開發者使用subject.invoke
,但現在看起來不起作用。什麼是subject.invoke
以及我如何替代它?什麼是rspec中的subject.invoke?
0
A
回答
0
subject
是subject
塊在當前上下文中的返回值。如果你有這樣的
subject { Foo.new }
塊然後subject
呼叫的例子將返回新Foo
實例。
以下invoke
只是撥打電話invoke
在subject
。因此它取決於主題的實施。
1
由於某個特定原因,這個問題很難回答這個問題 - subject
可以是任何東西,它在您的測試中定義。
subject
有兩種方式可以定義 - 隱式或顯式。含蓄,它使用在最頂部describe
的一類,因此,如果您有:
describe MyClass do
it 'works' do
subject
end
end
subject
將執行MyClass.new
,將緩存結果所以每次受到後續調用將返回相同的對象。
您可以使用顯式定義subject
覆蓋缺省主題:
describe MyClass do
subject { described_class.new some: "extra-params" }
it 'works' do
subject
end
end
所以,subject.invoke
是笑話執行invoke
方法上的任何對象的主題是。你將需要找出你的subject
是什麼,並找到它的類達到的定義invoke
相關問題
- 1. 什麼是`rspec/autorun`?
- 2. 是什麼在rspec的
- 3. 是什麼在RSpec的
- 4. 什麼是RSpec的黃瓜
- 5. Rspec中的#equal_set是做什麼的?
- 6. rspec中use_transactional_fixtures的默認值是什麼?
- 7. rspec中的double方法是什麼?
- 8. Rspec中'let'的範圍是什麼?
- 9. rspec中的fake_time + = 60是什麼意思?
- 10. 什麼是rspec寶石?
- 11. 什麼是負載測試中RSPEC
- 12. Rspec中的'應該'是什麼?爲什麼`應該redirect_to`工作?
- 13. 什麼是適當的Rspec語法
- 14. Rspec的grails等價物是什麼?
- 15. RSpec:'allow_any_instance_of'的替代選擇是什麼?
- 16. 什麼是=〜的Rspec 3.0匹配器?
- 17. render_views在rspec中做什麼?
- 18. 用rspec&devise,爲什麼current_user是零?
- 19. 爲什麼rspec不是更詳細?
- 20. 爲什麼不是rspec記憶這個?
- 21. 這是什麼RSpec錯誤告訴我?
- 22. 爲什麼RSpec的給EISDIR
- 23. Rspec和Rspec-Rails Gem有什麼區別?
- 24. RSpec在Ruby on Rails的上下文中是什麼?
- 25. rspec源代碼中的以下代碼含義是什麼?
- 26. rspec輸出中星號的含義是什麼
- 27. 在RSpec中指定類型的實際影響是什麼?
- 28. RSpec Ruby中的關鍵字「應該」究竟是什麼Ruby
- 29. 什麼是RSpec測試(Ruby on Rails)環境中的`StringIO`?
- 30. 在RSpec中檢查URL方向的規範方法是什麼?
非常感謝你! –