问题标签 [xunit2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

nlog - LoggerName 已在使用中

所以我有这个工作,我切换到 paket,我猜一些版本的 dll 已经改变了。

但是我仍然不明白我得到的错误。

我的代码基本上和这里的完全一样

http://www.tomdupont.net/2015/06/capture-xunit-test-output-with-nlog-and.html

和配置

GetNLogLogger方法有一个重载,它接受一个记录器名称和一个用于增量后缀的布尔值。使用这些没有帮助。

我真的很困惑。

堆栈跟踪:

编辑:已将所有 xunit 的东西降级到 2.1.0,同样的问题。

0 投票
1 回答
120 浏览

c# - 将解决方案中的所有项目降级为仅使用 net451 引用

我最初使用 ASP.NET Core 1.0 模板启动了一个 WebAPI 项目,并尝试使用解决方案中所有 project.json 文件中指定的 dnx451 和 dnxcore50 执行所有操作。

我最近放弃了使用与 dnxcore 相关的任何东西,因为它们没有带来我需要的所有东西,但仍然想使用新的项目模板。我假设在 core1.0 正式发布之前这个决定没有问题。

这是我所拥有的:
ASP.NET Core 1.0 Web API 项目:dnx451、dnxcore50
数据库 - 类库包:dnx451、dotnet5.4
业务库 - 类库包:dnx451、dotnet5.4
Xunit2 测试项目 - 类库包: dnx451、dnxcore50

现在这是我想要的:
ASP.NET Core 1.0 Web API 项目:dnx451
数据库 - 类库包:net451
业务库 - 类库包:net451
Xunit2 测试项目 - 类库包:dnx451

我是否还应该使用类库包,因为我使用它们的唯一原因是由于 dnx。另外,我还应该为 dnx 和 451 使用 XUnit 版本吗?可以说我只是想使用最新的稳定版本。现在我的测试没有出现在 VS 中。

是否可以继续使用新的 Core 1.0 Web API 预览模板结构,但不使用任何 dnx 或 (core1.0) 相关的东西?此外,仍然可以使用类库包,但仅适用于 net451。最后,对于单元测试,我应该仍然使用 2.1.0-rc1-build204 还是稳定版本?

0 投票
2 回答
11958 浏览

asp.net - 无法让 ConfigurationBuilder 从 ASP.NET Core 1.0 RC2 的 xunit 类库中的 appsettings.json 读取

我正在尝试在XUnit项目中执行以下操作,以获取我的测试应该使用的数据库的连接字符串:

这很奇怪,因为它在 Startup.cs 中使用时可以在 WebAPI 和 MVC 模板中完美运行。此外,这段代码以前在 RC1 中使用 dnx 工作,但现在我将所有内容更新到 RC2 和 Core CLI,它不再能够找到appsettings.jsonxunit 类库根目录中的文件。

这是我的测试类的样子,所以你可以看到我是如何调用配置的:

0 投票
2 回答
21672 浏览

xunit.net - 如何使用 dotnet test 运行特定测试?

我在 .NET Core 项目中有一个大型测试套件。我可以使用测试资源管理器窗口来选择一些要运行的测试。

我还可以在命令行上使用dotnet test. 有没有办法在命令行上只运行一个(或几个)测试?

0 投票
1 回答
5955 浏览

c# - 从 .NET Core XUnit 项目中引用标准 dll

我正在使用最新版本的 XUnit,并按照这些步骤启动了类库 (.NET Core) 项目。

我整个解决方案中的所有其他库仅使用 4.6.1,因此我将 project.json 中的 frameworks 部分更改为以下内容:

并且在我的解决方案中一切正常。我能够运行测试并且对其他库的所有引用都可以正常工作,即使它们只是 461。基本上,在我的解决方案中,我有几个其他类库 (.NET Core),而我的 XUnit 库依赖于它们,因此我可以直接通过 Visual Studio 引用它们,并将这些引用添加到 XUnit 项目的 project.json 文件中。

出现了一种情况,我需要执行以下操作:

仅将 XUnit 项目复制到另一台开发人员计算机。允许他编辑源代码以便他能够创建测试,但不允许他访问所有其他库/代码。我想我可以简单地将所有其他 dll 复制到一个随机文件夹中,并能够从独立的 XUnit 项目中引用它们。但是,情况并非如此,因为在尝试引用时我收到一条错误消息,指出 .NET Core 项目无法引用标准 dll。

有人可以告诉我如何做到这一点吗?

0 投票
2 回答
851 浏览

c# - 将 VS2015 升级到更新 3 后,XUnit2 不再找到测试

在我的解决方案上进行清理/重建以使测试出现在测试资源管理器中时,我收到以下错误:“检测到意外错误。检查测试输出窗格以获取详细信息。

并且不再出现任何测试。

当我检查测试输出窗格时,它说:“test-xunit”返回“-532462766”(除非在 DropDownList 中选择了测试的输出窗口不是输出窗格。如果不是,请告诉我。)

我相信自从我将 VS2015 更新到最新最好的(更新 3)以来,这种情况就开始发生了。关于发生了什么的任何想法,因为我的代码自上次工作以来没有改变。

确切的错误:

0 投票
1 回答
17472 浏览

c# - xUnit Assert.All() 异步

我有这个使用xUnit的示例测试:

是否有一个好的解决方案可以使整个测试异步/等待?

0 投票
1 回答
567 浏览

c# - 使用 Moq 的 Stubed Unit of Work 方法不返回预期的整数

我有一个使用 Asp.Net Core 创建的项目,但是我在对控制器操作的一部分进行单元测试时遇到问题,我使用xUnit.net(2.2.0-beta2-build3300)进行测试和Moq(4.6.25-alpha )用于模拟, FluentAssertions(4.13.0)GenFu(1.1.1)帮助我进行测试,我有一个工作单元类(请注意,我将其缩减为与我的问题相关的内容):

在我的 ContactRepository 中,我有:

我将工作单元注入我的控制器,我的操作:

我想要做的是存根我的AddNewContactAsync方法以返回一个大于 0(在本例中为 10)的整数,在 if 子句之间,并测试是否返回了正确的视图,我的测试类:

但是该方法AddNewContactAsync返回 0,并且我的测试没有进入导致的 if 条件return View("Success"),我知道问题与其他异步方法无关,ReturnAsync因为我已经将它与其他异步方法一起使用并且它可以正常工作,也_webForMapper可以正确存根并将视图模型映射到我的域模型并contactWioutJavascript填充值,但是当我调试测试并到达该addContactResultWioutJavascript行时,无论我做什么,它都会返回 0。

我做过但没用的事情:

我嘲笑了 ContactRepository,并试图取而代之的是:

我还发现了其他问题:

最小起订量工作单位

如何最小起订量使用工作单元和存储库模式的简单添加功能

使用 Moq 和 EF 4.1 模拟 UnitOfWork

但他们都没有帮助,我会很感激任何帮助。

0 投票
3 回答
32939 浏览

c# - 如何实现 XUnit 描述性 Assert 消息?

语境

在 XUnit github 中我发现了这个:Add Assert.Equal(expected, actual, message) 重载 #350 (所以开发人员要求不存在的重载见下文)

引用答案:

我们相信自我记录的代码;这包括你的断言。

(所以 XUnit 团队拒绝了它)

好,我知道了。我也相信自我记录的代码。我仍然找不到这个用例:

样本

问题

在这种情况下,如何在仍然没有这种重载的 XUnit 中实现描述性断言消息?

0 投票
1 回答
282 浏览

continuous-integration - Xunit 测试用例中的 AppDomain 使用问题 -Cake 脚本

我正在运行上一个问题中提到的 Xunit 测试用例。

如何使用 cake(c# make) 脚本在 xunit 中通过和失败测试用例计数

在运行测试用例时,我的大多数测试用例在尝试从我的AppDomain.

测试用例成功Visual Studio

从错误日志中,我可以看到它尝试从 Xunit 控制台运行程序位置而不是应用程序位置读取文件。

注意:我将Xunit2SettingsNoAppDomain用作 false。