我目前正在使用C#和Visual 2012进行一个项目。
我很难弄清楚为什么VS 2012不想运行我所有的测试。
我有一个测试项目,它运行两个单元测试中的一个,不管我尝试了什么,它都不想运行另一个单元测试。未通过测试资源管理器检测到,“未运行”测试不包括该文件。
这里有一个基本的框架,可以清楚地说:
(我已经编辑了框架以包含解决方案的每个部分)
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()
{ }
}
}
我怎么才能解决这个问题?我做错什么了?
发布于 2013-01-29 20:04:00
为了让Visual识别单元测试,您需要重新构建单元测试项目。可能单元测试项目没有设置为作为当前构建配置的一部分构建,因此在构建解决方案时也不会生成。
发布于 2018-01-23 05:12:42
我有这个问题,但我刚刚想出了一个解决办法。
我正在构建一个.NET核心库,用于DotNet控制台应用程序。对于库有一个单独的解决方案。库包含库的项目、单元测试项目和演示项目。
我遵循了这些文章中的步骤:
我在库中添加了一些额外的库类,并确保为lbirary更改包版本。我重建了图书馆,并将其发布给NuGET。
我在测试项目中添加了一个额外的类,无法让测试类中的例程运行。我遵循了以下步骤:-向测试项目中添加了一个常规的C#类--在类的顶部添加了TestClass --添加了一个公共空方法,并在测试项目上添加了TestMethod --使用了管理NuGET项目,并确保我更新了库包的最新版本。
但是“全部运行”并没有看到额外的测试。
我终于发现新的测试类需要声明为公共的!然后,下一次运行将正确地获取新测试类中的额外测试方法。
下面是额外测试类中所需内容的概要:
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项目的其他评论:
Visual有几个问题,关闭Visual的所有副本并重新启动会修复问题。
当我创建第一个.Net核心库项目时,将其发布到NuGET,然后使用NuGET将其加载到另一个项目中,但我无法引用库中的类。我开始研究一些工具,试图查看NuGET包。
但是在系统重新启动(对于一个完全无关的问题)之后,我重新启动了Visual,然后我能够从我的主项目中访问库类。
另一个问题来自使用nuget库的项目,有时在用nuget更新程序集的版本之后,调用程序可能无法访问更新库中的名称空间或类。昨天,我在呼叫项目上进行了一次重建,把那个问题解决了。
发布于 2019-12-02 02:47:42
我终于解决了我的问题。我想大多数人都和我一样遇到这个问题。根本的问题是我以错误的方式添加了单元测试类。尝试使用“测试”部分重新添加文件。这将使类获得对项目的依赖。否则,项目在运行测试时不包括它。
https://stackoverflow.com/questions/14590671
复制相似问题