我正在进行单元测试,我必须将一个线程的上下文传递给另一个线程。在现实生活中,第一个是UI线程,一切都会好的(我希望)。但我的单元测试没有UI(这是一些测试线程)。 我读过:“One thread that always has a SynchronizationContext is the UI thread.” 是否可以将一个线程(非UI)的上下文附加到其他线程?怎么做?
答案 0 :(得分:1)
我认为您可能需要重新考虑您的测试策略。
如果你真的想测试GUI和一些后台任务之间的交互线程安全性,你可以创建简单的WinForm并试一试。
或尝试创建测试,以便在从后台线程获得一些结果(即正确显示)后,GUI表单的行为符合预期。
为GUI创建单元测试非常棘手。这就是为什么人们倾向于删除GUI之外的所有业务和任何其他逻辑,以便它可以轻松测试。
也许您可以考虑将WPF与MVVM一起使用,或者将WinForms与MVP一起使用,这样可以更容易地绘制该行