我正在尝试对我创建的可移植类库进行单元测试,并且我想确保它正在使用它所针对的相同框架子集进行测试。
根据 Visual Studio ALM + Team Foundation Server 博客,MSTest 单元测试框架在 Visual Studio 2012 RC 中转换为 PCL;但是,我无法创建可移植类库,然后在 VS2012 RTM 中引用 MSTest 框架。
- 在“参考”对话框中浏览显示没有单元测试组件被注册为与 PCL 兼容。
- 在项目文件中添加手动 GAC 参考会
Microsoft.VisualStudio.QualityTools.UnitTestFramework
产生参考未找到构建错误。 - 添加手动直接程序集引用以
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
产生构建警告,指出 UnitTestFramework 程序集引用了不兼容的mscorlib
版本。
我确实发现(感谢早期的回答)有一个项目Unit Test Library (Windows Store apps)
类型在. 这种项目类型创建了一个小型的无 UI Windows 应用商店应用程序......完整的清单和一切。它也不允许我指定我所针对的框架 - 它似乎仅适用于 Windows Store 应用程序。C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\MSTestFramework\11.0\References\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.UnitTestFramework.dll
在潜在的错误假设下,我应该使用单元测试程序集来测试我的可移植类库项目,这些程序集的目标是与被测库相同的框架子集......
如何为 .NET 可移植类库创建单元测试程序集?
(我对也针对 PCL 的其他框架持开放态度,我只是目前不知道除 MSTest 之外的其他解决方案已考虑到这一点。)