在 Visual Studio 2008 SP1 中,您可以创建一个使用 MSTest 作为测试运行器的单元测试项目。我现在一直在编写测试,测试来自托管 MSTest 项目的非托管 C++ MFC,这是一次非常有趣的旅程。
使用 IDE 的测试运行程序与使用命令行应用程序 MSTest.exe 之间似乎存在差异。在我的场景中,测试将在 IDE 中正常运行并且所有测试都将通过,但是如果您运行命令行测试运行程序,MSTest.exe 将在尝试加载单元测试 DLL 时挂起。
这似乎是 DLL 中缺少依赖项的问题。当我在 Depends.exe (Dependency Walker) 中加载单元测试 DLL 时,Depends.exe 会抱怨找不到 msvcr90d.dll,这是 VS2008 调试 C 运行时。我将该文件复制到 Out 文件夹以进行测试运行,并尝试在测试 DLL 上运行 mstest,但它没有解决问题。有任何想法吗?
我可以将一些 DeploymentItem 添加到测试或 testrunconfig,但我无法找出我需要添加的内容。有什么想法可以找到应该添加为 DeploymentItems 的项目吗?
当我针对已删除 CWinApp 对象的静态库进行测试时,会发生这种情况。我想我必须删除它,这样就没有两个 CWinApp 实例,对吧?
我在 MSDN 论坛中查看了这篇帮助文章,但它并没有解决我的问题: http ://social.msdn.microsoft.com/forums/en-US/vststest/thread/aa7f7567-faba-4589- b0ae-fe8d2c831c7a/ 我不确定缺少哪个程序集,并且进程监视器中有太多条目,似乎无法找到丢失的程序集。有什么帮助吗?