VSTS 2008(Visual Studio Team System)带有内置的单元测试功能。我们可以添加一个测试项目来对Smart设备项目进行单元测试。当我的智能设备项目没有使用Framework 3.5而是使用Framework 2.0时,就会出现问题。我严格禁止在设备中安装Framework 3.5。
但是这个限制阻碍了我运行UnitTest应用程序,因为它使用了以下引用:
Microsoft.VisualStudio.SmartDevice.UnitTestFramework.dll
需要设备或模拟器中的框架3.5,否则会抛出异常。我需要知道是否有任何方法可以在Framework 2.0的范围内对我的设备应用程序执行UnitTest。
答案 0 :(得分:2)
我做了很多Compact Framework开发,我建议使用智能设备单元测试的替代方案,这也将解决您的问题。
重构您的代码,以便您的UI只是一个视图。 (即它只会调用其他类。)然后将非UI类放在单元测试下。 (只是正常的单元测试。)
当您第一次创建正常的单元测试项目时,Visual Studio会给您一个警告,但之后它会顺利进行。
这样做有三个原因:
现在的缺点是:
虽然缺点很重要,但单元测试并不能代替“真正的”测试,而这种测试可以快速发现任何可能因该缺点而错过的问题。 (实际上编译应该能够解决大多数问题。)
答案 1 :(得分:0)
您可以将单元测试项目设置为.Net 3.5,将智能设备项目设置为.Net 2.0。
这样做有什么问题吗?
答案 2 :(得分:0)
创建测试项目时,您必须设置错误或遵循错误的步骤。
我刚刚使用Studio 2008重新验证了这一点,如果您正在测试的程序集目标是2.0版,那么当您创建单元测试项目时,它也将针对2.0版本。您必须使用上下文菜单中的“创建单元测试”向导来生成Unit Tetst项目。