我有一个线程安全的可观察集合替换,我想为它编写一个单元测试。为了避免误报,我试图编写一个多线程测试,证明一个对象无法添加到ObservableCollection>中,因此我可以将其与我的交换,并看它变绿。我无法让这个测试失败(使用NUnit)。如何编写ObservableCollections的线程亲和性的失败测试
没有特定的顺序我试过到目前为止:
- 在不同的线程创建的收集和更新当前
- 创建当前线程的收集和更新上的备用
- 使用不同的线程机制
- 的ThreadStart
- 调度
- BackgroundWorker的
- 使用不同的公寓指出
- STA和MTA的所有组合在测试本身和/或一个或两个线程
- 创建一个WPF窗口来收集和手动操作分派器框架以模拟运行时环境。
自定义集合本身在实际代码中工作正常,所以现在更多的是学术活动而不是任何事情;我穿的信心已经动摇:)
您是否试图让标准可观察性在多线程场景中失败? – 2012-01-26 23:04:59