我有一個線程安全的可觀察集合替換,我想爲它編寫一個單元測試。爲了避免誤報,我試圖編寫一個多線程測試,證明一個對象無法添加到ObservableCollection>中,因此我可以將其與我的交換,並看它變綠。我無法讓這個測試失敗(使用NUnit)。如何編寫ObservableCollections的線程親和性的失敗測試
沒有特定的順序我試過到目前爲止:
- 在不同的線程創建的收集和更新當前
- 創建當前線程的收集和更新上的備用
- 使用不同的線程機制
- 的ThreadStart
- 調度
- BackgroundWorker的
- 使用不同的公寓指出
- STA和MTA的所有組合在測試本身和/或一個或兩個線程
- 創建一個WPF窗口來收集和手動操作分派器框架以模擬運行時環境。
自定義集合本身在實際代碼中工作正常,所以現在更多的是學術活動而不是任何事情;我穿的信心已經動搖:)
您是否試圖讓標準可觀察性在多線程場景中失敗? – 2012-01-26 23:04:59