由于我的开发盒上的某些配置,我被迫将代码移至“文档和设置”文件夹。自从我们的 #?*&%$£ “beloved”perforce VCS 在特定情况下可能会出现长文件路径问题,我映射了一个驱动器 (V:) 来指向代码。现在这通常有效,但有一个例外:由于某种原因,集成到 VS 中的单元测试运行程序无法再运行测试。我专门使用 TestDriven.NET 和 ReSharper 测试运行器进行了尝试。两者都表现出相同的奇怪行为:没有错误,只是不运行测试。

0 通过, 0 失败, 0 跳过

当我从 C:\Documents 打开解决方案时...并使用所述跑步者运行测试,它的工作原理:

211 次通过,0 次失败,0 次跳过

我首先怀疑是 64 位问题(我们使用的是 Win7 Ultimate x64)。但是测试程序集设置为“任何 CPU”,两个运行程序都可以处理该场景并重定向到适当的 NUnit 可执行文件(...据我所知,如果我错了,请纠正我!)。使用 NUnit GUI 从 C:\ 和 V:\ 打开测试程序集都可以正常工作。

我只能假设这与 VS 中的运行程序在文件路径引用映射驱动器时无法调用测试有关...但这听起来很奇怪,所以我希望你们中的一些人之前见过这个问题并且可以给一些建议。

归结为一个问题:
有没有人遇到过 VS 2010 中的 NUnit 测试运行程序不执行测试的问题,可能是由于解决方案位于映射驱动器上?

赢 7 终极 x64
VS 2010 终极版
NUnit 2.5.8
测试驱动.NET 3
锐锐5.1

有帮助吗?

解决方案 2

好的,我们终于找到了解决这个问题的方法。虽然我们并没有真正解决映射 V 的问题:驱动器是网络驱动器,如果您使用创建映射驱动器,它确实可以正常工作 SUBST 命令。

这里的区别在于 V:自从我使用资源管理器菜单中的“映射网络驱动器”创建映射以来,驱动器被视为网络位置(我相信这相当于 命令)。当在网络和本地驱动器之间调用程序集时,这可能会导致信任问题。有些人甚至在构建过程中收到如下错误消息

未处理的异常:系统.安全.安全异常:该组件不允许部分信任的呼叫者。

使用 SUBST 我们的 V:驱动器指向本地(=受信任)位置, 现在我们的测试都按预期运行.

要使用 SUBST 创建映射驱动器,请执行以下操作。此示例将新的虚拟驱动器“V”映射到用户 (= [yourName]) 文件夹中的代码位置:

C:>subst v:C:\Users[你的名字]\code

其他提示

我还没有尝试过。但只是一个想法。你可以检查可执行文件的路径TestDriven.Net以及NUnit的。你还不如要检查的参考测试项目。是它的相对或绝对?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top