随着软件变得越来越并发,如何用单元测试(而不是并行行为,只是核心行为)来处理类型的核心行为的测试?单元测试并发软件 - 你做什么?
在过去的美好时光中,你有一种类型,你称之为,然后你检查它返回的内容和/或它调用的其他东西。
现在,你调用一个方法,实际的工作被安排在下一个可用的线程上运行;你不知道它什么时候才会开始并调用其他的东西 - 更重要的是,其他的东西也可能是并发的。
你如何处理这个问题?你是否抽象/注入并发调度器(例如抽象任务并行库并在单元测试中提供假/模拟)?
你遇到过哪些帮助你的资源?
编辑
我已经编辑强调测试类型的正常行为的问题(忽略任何并行机制用于采取多芯的优点,例如,TPL)
感谢您的链接+1 - 我相信他们会派上用场,让任何人阅读这个问题。我编辑了我的问题,因为我真的打算多询问类型的正常行为而不是并发行为。 – 2010-07-29 16:02:20