2010-05-20 44 views
2

任何想法如何通過閉包在Parallel.ForEach內部訪問時調用模擬對象?我認爲,因爲每次調用都在Rhino Mocks丟失跟蹤對象的不同線程上?在ForEach內部的對象上模擬斷言?

僞代碼:

var someStub = MockRepository.GenerateStub() 

Parallel.Foreach(collectionOfInts, anInt => someStub.DoSomething(anInt)) 

someStub.AssertWasCalled(s => s.DoSomething, Repeat.Five.Times) 

該測試將返回預期違反,期待存根被稱爲5次,但被實際調用0次。

任何想法如何告訴lambdas跟蹤線程本地存根對象?

回答

1

玉以及作爲一項臨時措施,我們剛剛抽象調用Parallel.ForEach遠到另一個類...

+0

在某種程度上,我想這是正確的答案,否則我們只是單元測試並行任務庫,對吧? – mwjackson 2010-05-24 10:46:06