65.9K
CodeProject 正在变化。 阅读更多。
Home

NUnit STA 线程和 WPF 测试

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (1投票)

2009年6月17日

CPOL

1分钟阅读

viewsIcon

36008

downloadIcon

242

NUnit STA 线程和 WPF 测试。

在目前工作中进行的一个 WPF 项目中,我们决定采用敏捷/XP/TDD/Mock/持续集成的方式,这意味着需要进行单元测试,而且数量很多。

我们使用 NUnit,我很喜欢它,但我们也在使用 WPF,并且显然在使用最新的/最佳模式,也就是 MVVM,但有时,能够测试 WPF 控件/窗口等某些东西会很好。

所以我开始创建一个像下面这样的小 NUnit 测试

37323/diag11.jpg

现在在我看来这没问题,但是当我运行这段代码时,我得到了以下可怕的错误信息。

37323/stathread-thumb.jpg

NUnit 抱怨“调用线程必须是 STA”。 哦,真糟糕。所以我思考了一下,然后想到了这个小主意,就是将原始代码传递给一个辅助类,并让它在 STA 线程公寓状态下运行该代码。听起来很酷,但它真的有效吗?嗯,实际上是的,这里是这个小辅助类。

37323/diag2.jpg

这是从 NUnit 测试中使用它的方法。

37323/diag3.jpg

为了证明它有效,这里是实际测试成功运行的截图。

37323/stathreadok-thumb.jpg

这里有一个链接到一个小测试项目,你可以看到它在工作,以防你想在自己的项目中用到它。

尽情享用!

© . All rights reserved.