【问题标题】:Resharper 7: MSTest not working - "Test wasn't run"Resharper 7:MSTest 不工作 - “测试没有运行”
【发布时间】:2012-08-24 20:31:43
【问题描述】:

自从我升级到 VS2012 和 Resharper 7 后,我以前工作的 MS 测试不再运行。

测试在 ASP.NET 环境中运行。我使用以下属性:

    [TestMethod]
    [HostType("ASP.NET")]
    [AspNetDevelopmentServerHost("C:\\Projekte\\****\\Website", "/")]
    [UrlToTest("http://localhost:7924/")]

知道如何解决这个问题吗?

【问题讨论】:

  • 我也有同样的问题。这是由于我的网站和测试项目是 x64。我没有解决方案。我目前使用 nunit 作为解决方法。
  • 我发现这可能是 Resharper 的问题。我从 VS 的“测试 - > 运行”运行测试,这些测试被拾取。顺便说一句,我将“测试 -> 测试设置 -> 默认处理器架构”更改为 x64。我认为如果您在构建服务器中运行它们,应该没问题。
  • 我用 nUnit 和 R#8 得到了这个
  • 我在 VS2013、ReSharper 8.2 和 DotCover 2.7 尝试针对 x64 解决方案运行时遇到了同样的问题。以下都不适合我。还有其他解决方案吗?

标签: visual-studio resharper mstest visual-studio-2012 resharper-7.0


【解决方案1】:

也可能是您的解决方案包含多个版本,即安装在不同项目中的 nUnit。就我而言,这是问题的原因。统一解决方案中的nUnit版本后,问题就没有了。

【讨论】:

    【解决方案2】:

    使用 VS2010 和 ReSharper 9.1,问题是文件 LocalTestRun.testrunconfig 丢失,但在我的 .vsmdi 文件中被引用。

    没有 VS 的测试运行正常,但我在 ReSharper 测试 UI 中总是出现“测试未运行”错误。

    所以我只是恢复了旧的LocalTestRun.testrunconfig 文件,一切都运行良好。

    我可能已经更新了我的 .vsmdi 文件以不引用丢失的文件...我没有对此进行测试。

    【讨论】:

      【解决方案3】:

      我在 C# 中遇到了同样的问题:由 ReSharper 运行的单元测试都以“未运行测试”而停止。没有其他信息。

      原来是因为我在 App.Config 中的自定义部分。删除它并且它起作用了。

      配置:Visual Studio C# 12、ReSharper 8.2.3

      【讨论】:

        【解决方案4】:

        在我的情况下,需要删除的是 NUnitTestAdapter nuget。

        【讨论】:

          【解决方案5】:

          可能是另一个(愚蠢的)问题;我不小心将项目设置为不构建。转到构建/“配置管理器”,并确保项目设置为构建。

          【讨论】:

            【解决方案6】:

            仅摘自 MSDN 关于 Assert.Inconclusive:

            Visual Studio 在创建单元测试时生成的代码包括 作为占位符的不确定性陈述。

            如果解决方案有问题,最常见的是配置错误,例如错误或不匹配的命名空间,不一致的构建目标等,会导致 UnitTestExplorer 无法正确使用提供的单元测试。所以一般的解决方案是检查最新的更改并修复错误。

            【讨论】:

              【解决方案7】:

              我在 Resharper 中不断收到“测试未运行”。我尝试了所有建议,但没有任何效果。为我解决的问题是以管理员身份运行 Visual Studio。 (VS2013 w/Resharper 8.1)

              【讨论】:

                【解决方案8】:

                补充一点,我已经用一个新的 app.config 文件覆盖了我需要的一些部分。我重新添加了这些部分,此时我在 resharper 中遇到了同样的错误。感谢上面的 cmets,我将它与旧版本进行了比较,发现我缺少 configSections 中的部分名称。

                【讨论】:

                • 您愿意与我们分享您的具体做法吗?你找到了你所缺少的东西,而不是帮助任何人......
                【解决方案9】:

                我只是遇到同样的问题..

                • 将方法访问修饰符从私有更改为公共。
                • 从方法中删除了静态关键字。

                就是这样。它对我有用。但这是针对 C# 的。

                【讨论】:

                  【解决方案10】:

                  NUnit 测试有类似的问题,不会执行,但R# 只会将它们标记为“测试未运行”。

                  使用原生 NUnit 运行器执行它们显示,app.config 文件有错误(实际上是 2 个 ConnectionString 部分)。修复此问题也使测试在 R# 测试运行器中运行。

                  【讨论】:

                  • 这个问题专门针对 MSTest。对于有 NUnit 测试问题的访问者来说,这仍然可能是有用的信息,但它可能应该是评论而不是答案。
                  【解决方案11】:

                  我遇到了同样的问题。无法让 Visual Studio 测试运行程序工作,所以我尝试调试测试。这引发了一个 ConfigurationErrorsException,它没有太多的堆栈跟踪,但包含短语“ClientSettingProvider”。我搜索了我的解决方案,发现某些东西已将“ClientSettingProvider.ServiceUri”的 appSetting 键添加到我的 app.config 中。我删除了这个(连同一个空的 connectionStrings 元素)并重建了一切 - 解决了问题!

                  仔细检查您的 app.config 并尝试删除任何空元素或任何看起来可疑的内容。

                  【讨论】:

                    【解决方案12】:

                    我遇到了完全相同的问题,但没有任何帮助。

                    最终我发现我的单元项目和单元测试项目的命名空间不匹配。

                    我的单元项目的命名空间是unit.project,测试项目名为unit.project.tests,但测试的默认命名空间与单元相同,都是unit.project。

                    一旦我将命名空间更新为不同(每个项目一个命名空间),一切正常!

                    【讨论】:

                      【解决方案13】:

                      我遇到了同样的问题,因为测试类名称中包含字符“”(也是“(”和“)”导致此问题)。
                      删除这些符号解决了问题。

                      感谢 F# 的 Unicode 支持,我可以在标识符中使用符号。

                      【讨论】:

                        【解决方案14】:

                        我发现单元测试的设置文件可能需要检查 ReSharper 指向的设置文件。我也发生了同样的事情,这取决于我对 RS Harness 指向错误文件的单元测试。

                        【讨论】:

                          【解决方案15】:

                          尝试使用 MSTest 测试资源管理器运行单元测试。您可能会在根本原因的输出窗口中找到更多详细信息。

                          对我来说,它是一个引用的程序集,它使用的 NUnit 版本比测试项目中引用的版本更新。使用相同的最新版本解决了该问题。

                          System.IO.FileLoadException:无法加载文件或程序集“nunit.framework,Version=2.6.3.13283,Culture=neutral,PublicKeyToken=96d09a1eb7f44a77”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。

                          【讨论】:

                            【解决方案16】:

                            发生这种情况时,我将 testproject 设置为 AnyCPU,并将项目明确设置为 x86。将 testproject 设置为 x86 为我解决了这个问题。

                            我正在使用 VS2012 R#8 和 nUnit

                            【讨论】:

                            • 和我一样,改成 x86 就可以了。但令人失望的是,resharper 没有给出正确的错误。
                            【解决方案17】:

                            尽管使用 VS2012,使用 Resharper 8.0,使用 NUnit,但由于我的 app.config 文件中有一个条目,我收到了这个错误。我添加了一个 EntityFramework 连接字符串,并且此行为开始了。删除整个连接字符串部分显示测试运行程序再次启动/工作。查看输出显示 app.config 无效 - 这导致了测试运行器中的这种特定行为 - “测试未运行”。

                            【讨论】:

                            • 这正是适合我的。我提升了我的数据库连接字符串(已更改名称)。我解决了这个问题,我的测试再次运行。谢谢!
                            • 同样如此,好电话。
                            • 对我来说就是这样。基本上应用配置中的任何错误似乎都会导致此问题。
                            • 我在 machine.config 中也遇到了这个问题。
                            • 这里相同...删除 app.config 修复它
                            【解决方案18】:

                            检查您在测试项目中的所有引用是否设置为 Copy Local True。

                            【讨论】:

                              【解决方案19】:

                              在 VS2012 上,测试项目不适用于 \XXXXXX\XXX 等共享文件夹 我解决了它在本地设备上复制了测试项目。 祝你好运

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 2018-01-12
                                • 2014-01-03
                                • 2010-09-26
                                • 2012-08-14
                                • 2011-09-20
                                • 1970-01-01
                                • 2011-08-29
                                • 2014-03-31
                                相关资源
                                最近更新 更多