6

我在 NUnit 和 MBUnit 方面拥有丰富的经验,但我是 .NET Compact Framework 开发的新手,我希望能走上正轨。

.NET Compact Framework 是否存在流行的单元测试框架,如果有,它是什么?

4

5 回答 5

4

我们在 TFS (2008) 下使用 MSTest。最大的优势是它在实际设备上运行测试(我们同时针对模拟器和物理设备运行),并且测试是从服务器驱动的,而不是设备驱动的。这意味着您不必从设备 UI(例如 CFNUnitBridge)中选择要运行的测试等,这非常尴尬并且不利于持续集成。

然而,MSTest 并不是万能的。它有一些严重的缺点(比如调试测试真的很痛苦并且测试启动很慢),但它比我们尝试过的任何其他方法都要好。希望随着 MS 的发展,可用性将会提高,我们可以继续使用我们拥有的测试框架。

使用我们认为风险太大的任何其他东西,因为许多设备框架和库在没有主要赞助商的情况下往往会枯萎和消亡。例如,NUnitLite 在这篇文章的两年生命中只有 477 次下载和很少的代码流失或活动——这并没有激发任何对它会在功能上增长的信心。

于 2008-11-18T22:50:36.653 回答
4

查看 NUnitLite:http ://www.codeplex.com/Wiki/View.aspx?ProjectName=NUnitLite

于 2008-11-18T20:08:42.393 回答
1

@Simon:为 CF.NET 编译的模块不能在桌面硬件上运行,因此无法使用 NUnit 进行测试。

于 2008-11-18T19:59:15.750 回答
1

您可能已经想到了这一点,但是对于 Visual Studio 2008 Professional,“最好的”方法是使用 MSTest(我是一个彻头彻尾的 NUnit 人,但就是这样)。

右键单击方法或类,然后选择“创建单元测试”。这将指导您创建包含您开始所需的所有依赖项的测试项目。

关键点,这将在设备上运行测试——这是您想要发生的,然后在 MSTest 运行器中将结果报告给您。

但是仍然存在测试问题。我找不到任何适用于 .net cf 的模拟框架。但这是一个开始。

于 2009-04-25T03:08:32.393 回答
0

对于在 Portable.NET 上运行的嵌入式项目,我们最终编写了自己的 NUnit 最小版本,因为我们无法让 NUnit 代码在该运行时上编译和运行。实际上,这并不难做到。

于 2009-04-25T03:19:34.973 回答