0
我是使用requirejs和using the requirejs map configuration測試模塊的茉莉花單元,以提供嘲弄的依賴關係。然而,這隻在第一次測試運行時才起作用,之後模塊已經加載並且緩存版本被檢索到,所以額外的測試最終不加載它們的模擬,而是返回第一次測試的模擬。如何手動清除requirejs緩存
因此,假設我有這個
define 'directory', ['dataService'], (ds) ->
ds.doStuff()
configureStub = (name, fn) ->
define name, fn
require.config
map:
directory:
dataService: name
describe 'test fixture 1', ->
beforeEach ->
configureStub 'mockDataService1', -> doStuff: -> console.log "doing things"
it "uses the first mock service" -> ...
describe 'test fixture 2', ->
beforeEach ->
configureStub 'mockDataService2', -> doStuff: -> console.log "doing other things"
it "uses the second mock service" -> ...
因爲無論directory
和dataService
緩存和頁面沒有測試之間刷新,mockDataService2
永遠不會真正被加載,這將永遠是mockDataService1
!
有沒有辦法在我的測試設置中從requirejs的緩存中手動清除directory
和dataService
?