我有一些测试是使用Microsoft.VisualStudio.TestTools内置的。单元测试,但不能让它们运行。

我使用visual studio 2012终极版。

我有两个项目的解决方案;一个有测试,使用Microsoft.VisualStudio.TestTools。UnitTesting, [TestClass]在类之前,[TestMethod]在测试方法之前,并参考Microsoft.VisualStudio.QualityTools.UnitTestFramework(版本10.0.0.0,运行时版本v2.0.50727)。我已经尝试过。net框架3.5,4和4.5其他人给出了一个重定向错误。

我已经尝试构建解决方案和项目。测试资源管理器显示“构建解决方案以发现所有可用的测试”。单击“全部运行”可在解决方案中构建、发现和运行所有测试。

问题是:如何让visual studio找到测试?


我也试过遵循这个:http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx但没有成功:当我被要求右键单击并选择创建测试时,我被困在了开始的部分。没有创建测试。


我有这个测试(它编译,但不显示在测试资源管理器):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

我现在发现(见下面删除的答案),这是因为它在一个共享驱动器上,但我还不知道如何绕过它。(可能是关于安全设置的问题)。


当前回答

这些都是很好的答案,但我知道还有一个原因;我只是碰巧碰到它。在我的一个测试中,我有一个ReSharper消息,表明我有一个未使用的私有类。这是一个我将在即将到来的测试中使用的类。这实际上导致我所有的测试都消失了。

其他回答

我有时也会有同样的症状。

我所做的是: 1. 关闭测试资源管理器窗口 2. 清洗溶液 3.重新构建解决方案 4. 从Test -> Windows ->测试资源管理器重新启动测试资源管理器窗口。

我在测试资源管理器窗口中得到了我的测试。

我得到的错误:“初始化客户端代理失败:无法连接到vste .discoveryengine.exe。”

尝试以管理员身份运行Visual Studio。这对我很管用。

有另一篇Stack Overflow文章讨论了这个错误,同样的解决方案也适用于他们。问题是为什么这样做有效。

问题是测试运行程序配置为不从远程驱动器运行测试。当我将项目复制到本地驱动器时,它工作得很好,但我需要在共享驱动器上(不记得为什么)。

我读到过它可以配置为在共享驱动器上工作,但一直没有这样做,因为当我发现这个解决方案时,我已经在Debian上切换到MonoDevelop了。

这有时是可行的。

检查Test菜单下的处理器架构是否匹配 您用来构建解决方案的那个。

测试->测试设置->默认处理器架构-> x86 / x64

正如在其他文章中提到的,确保您打开了Test Explorer窗口。 Test -> Windows ->测试资源管理器

然后重新构建带有测试的项目,应该会使测试出现在测试资源管理器中。

编辑:正如Ourjamie在下面指出的,做一个干净的构建也会有所帮助。 除此之外,我还遇到了一件事:

“构建”复选框在配置管理器中被取消勾选 用于我在解决方案下创建的新测试项目。

进入构建->配置管理器。 确保您的测试项目选中了构建复选框 用于所有解决方案配置和解决方案平台。

看起来NUnit框架2.6.4不能很好地与NUnit测试适配器一起工作。在网站上,它提到测试适配器只适用于NUnit Framework 2.6.3。

这就是我的问题: 1. 我在VS2012中通过Nuget分别下载了NUnit和NUnit Test Adapter。不知怎的,NUnit更新到了2.6.4,突然我没有看到我的测试用例被列出。

Fix:

卸载Nuget和Nuget测试适配器 a.进入“Tools> Nuget > Nuget Pkg manager > Manage Nuget Pkg for Solution” b.列出已安装的包 c.单击“管理”。 d.取消你的项目 安装NUnit测试适配器,包括NUnit 2.6.3框架 清洁/重建解决方案 打开Test > Test Explorer >全部运行

我看到所有的测试用例

希望这能有所帮助