【问题标题】:NUnit.Runners via Nuget on Visual Studio 2012 express doesn't work在 Visual Studio 2012 express 上通过 Nuget 的 NUnit.Runners 不起作用
【发布时间】:2012-11-12 17:38:31
【问题描述】:

我正在尝试使用 NuGet 管理器在 Visual Studio 2012 Express 中设置简单的 NUnit 项目。 从 PROJECT-> Manage NuGet Packages 我安装了 NUnit(框架)并想要添加 NUnit.Runner 但在安装过程中我收到了:

'NUnit.Runners 2.6.2' already installed.

好的,但是当我转到 TOOLS->Library Package Manager->Manage nuGet Packages for Solution NUnit(框架)和 NUnit.Runners 都显示为已安装。

我可以在代码中使用 NUnit 框架,但是当我尝试运行测试时,旧的“测试资源管理器”会停留并且不显示任何内容。也不调用测试。

我是否在 VS2012 或 NUnit 配置中遗漏了什么?

【问题讨论】:

    标签: .net nunit visual-studio-2012 nuget


    【解决方案1】:

    我发现 Visual Studio Express 不支持项目扩展(被 Microsoft 禁止和禁用)。因此,如果没有一些变通方法,似乎没有选择使用 NUnit。到目前为止,我安装了完整版,并且 NUnit 运行器按预期工作。

    【讨论】:

      【解决方案2】:

      您也可以使用blog post的cmets中提到的方法sombody:

      1. 在测试程序集中添加对 nunit-console-runner 的引用。

      2. 在您的测试程序集中,使用以下一行创建一个类(见下文

      3. 打开测试程序集的属性。例如,右键单击程序集并选择属性。

        1. 在应用程序选项卡上,选择输出类型:Windows 应用程序;和启动对象:NUItConolseRunner(上面的文件)。

        2. 在“调试”选项卡上,在“命令行参数”中输入 .csproj 文件名;并浏览到工作目录中 .csproj 文件的文件夹。

      4. 保存所有内容,设置断点并使用 F5 或绿色箭头按钮运行。

      代码:

      using System;
      namespace MotorExampleTests
      {     
          // Written by blokeley
         class NUnitConsoleRunner
         {
      
           [STAThread]
           static void Main(string[] args)
           {
               NUnit.ConsoleRunner.Runner.Main(args);
           }
         }
      }
      

      【讨论】:

      • 我尝试了这种方法,但无法让它发挥作用。所以我想出了一个让它工作的方法。我所做的是创建一个单独的控制台项目,然后通过运行以下行从 Main 方法运行我的测试:NUnit.ConsoleRunner.Runner.Main(new string[] {@"C:\myprograms\mysolution\MyProject.Test\bin\Debug\MyProject.Test.dll" });
      • 另外,这允许我将我的测试保留为 dll 而不是 exe,正如上面的帖子所建议的那样。
      • 您可以通过System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)获取路径,而不是硬编码路径
      【解决方案3】:

      为什么不用VS2012内置的testrunner,通过扩展管理器添加nunit testadapter?

      【讨论】:

        猜你喜欢
        • 2013-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        相关资源
        最近更新 更多