4

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

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

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

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

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

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

这是第二个单元测试文件的代码:

using System; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
namespace MagicAdmin.Tests 
{      
    [TestClass] 
    public class UnitTest1 
    { 
        [TestMethod] 
        public void TestMethod1() 
        { } 
    } 
} 

我该如何解决这个问题?我做错了什么?

4

4 回答 4

7

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

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

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

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

我在测试项目中添加了一个额外的类,并且无法让测试类中的例程运行。我已按照以下步骤操作: - 向测试项目添加了一个常规 C# 类 - 在类顶部添加了 [TestClass] - 添加了一个公共 void 方法,并在其上方添加了 [TestMethod] - 用于在测试项目中管理 NuGET 项目,并确保我更新到最新版本的库包

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

我终于发现需要将新的测试类声明为公共的!然后下一个 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 更新程序集版本后,调用程序可能无法访问更新后的库中的命名空间或类。昨天在调用项目上的全部重建为我解决了这个问题。

于 2018-01-23T05:12:42.517 回答
2

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

于 2013-01-29T20:04:00.710 回答
0

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

  1. 用正确的测试关键字属性装饰它,告诉 Visual Studio 这是一个测试类、方法、示例......

"MS 单元测试" , 测试类属性 = [TestClass] , 测试方法属性 = [TestMethod]

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

  1. 确保类,方法设置为公共

这样的事情会有所帮助 在此处输入图像描述

于 2022-01-27T09:56:02.673 回答
0

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

于 2019-12-02T02:47:42.560 回答