繁体   English   中英

"在一个单元测试项目中运行多个单元测试"

[英]Running multiple Unit Tests in an unit test project

我目前正在使用 C# 和 Visual Studio 2012 开发一个项目。

我很难弄清楚为什么 VS 2012 不想运行我的所有测试。

我有一个测试项目运行 2 个单元测试中的 1 个。无论我尝试了什么,它都不想运行另一个单元测试。 它没有通过测试资源管理器检测到,“未运行”测试不包含该文件。

这是一个清晰的基本框架:

(我已经编辑了框架以包含解决方案的每个部分)<\/strong>

Solution
    MainProject
        ProjectA.Tests (that is the project)
           UnitTestsA.cs (Actually run)
           UnitTestsB.cs (Neven run)

我遇到了这个问题,但只是想出了一个解决方案。

我正在构建一个用于 DotNet 控制台应用程序的 .NET Core 库。 图书馆有一个单独的解决方案。 该库包含库的项目、单元测试项目和展示项目。

我按照这些文章中的步骤操作:

我在库中添加了一些额外的库类,并确保更改 lbirary 的包版本。 我重建了库,并将其发布到 NuGET。

我在测试项目中添加了一个额外的类,并且无法运行测试类中的例程。 我遵循了以下步骤: - 在测试项目中添加了一个常规的 C# 类 - 在类的顶部添加了 [TestClass] - 添加了一个 public void 方法,并在它上面添加了 [TestMethod] - 在测试项目中使用了管理 NuGET 项目,并确保我更新到最新版本的库包

但是“全部运行”没有看到额外的测试。

我终于发现新的测试类需要声明为public! 然后下一个 Run All 在新的测试类中正确地选择了额外的测试方法。

以下是额外测试类中必要内容的概述:

using System;
using UtilityLib.APIDir;

namespace UtilityLibTest
{
   [TestClass]
   public class UnitTest_NewAPI
   {
       [TestMethod]
       public void TestNewAPI()
       {
          NewAPI tester = new NewAPI();
          bool someResult = tester.DoSomething();
       }
   }
}

Visual Studio 项目的其他评论:

Visual Studio 存在多个问题,关闭 Visual Studio 的所有副本并重新启动可以解决问题。

当我创建我的第一个 .Net 核心库项目时,将其发布到 NuGET,然后使用 NuGET 将其加载到另一个项目中,但我无法引用库中的类。 我开始研究一些工具来尝试研究 NuGET 包。

但是在系统重新启动后(对于一个完全不相关的问题),我重新启动了 Visual Studio,然后我就可以从我的主项目中访问库类了。

另一个问题来自使用 nuget 库的项目,有时在使用 nuget 更新程序集版本后,调用程序可能无法访问更新库中的命名空间或类。 昨天在调用项目上重建所有内容为我解决了这个问题。

为了让 Visual Studio 识别您的单元测试,您需要重建单元测试项目。 单元测试项目可能未设置为当前构建配置的一部分,因此在构建解决方案时未构建。

我终于找到了我的问题。 我想大多数人都和我一样遇到过这个问题。 根本问题是我以错误的方式添加了单元测试类。 尝试使用“测试”部分重新添加文件。 这将使类获得对项目的依赖。 否则,项目在运行测试时不包含它。

如果您只是在单个单元测试项目中添加第二个 C# 类文件来管理您的第二组测试代码,请确保这些事情发生。

  1. 用正确的测试关键字属性装饰它,<\/strong>告诉 Visual Studio 这是一个测试类、方法、示例......<\/li><\/ol>
    "MS 单元测试" , 测试类属性 = [TestClass] , 测试方法属性 = [TestMethod]

    "xUnit" , 测试方法属性 = [事实]

    1. 确保类,方法设置为公共<\/strong><\/li><\/ol>

      这样的事情会有所帮助在此处输入图像描述<\/a>

      "

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM