问题标签 [fluent-assertions]

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 回答
162 浏览

fluent-assertions - FluentAssertions AllProperties().NotEqualTo()?

我想我错过了一些明显的东西,还是我使用的是旧版本(1.7.1.1)?

我为我的 updateMyDto 方法编写了一个测试。

我希望我的断言看起来像 =>

所以我可以验证我的更新值是否已更新。

有什么技巧可以得到吗?

0 投票
2 回答
6571 浏览

.net - 当主题是 DateTime 时,ShouldBeEquivalentTo 对等对象失败

我正在尝试做的事情

我刚刚设置了一个测试,以确保将 NodaTimeLocalDateTime映射到 .NET DateTime,并保留相同的日期和时间值。我正在使用 FluentAssertions 的ShouldBeEquivalentTo方法来比较相应的属性值。

问题

测试失败:

我不知道最后两行是什么意思。

我试过的

  1. 在调试器中运行测试以确认每个值都相同。
  2. Include通过删除不同属性的 s 来查看问题是否是特定属性。
  3. 基于配置EquivalencyAssertionOptions<DateTime>.Empty()确保不隐式涉及额外的检查或属性。
  4. 将其简化为以下内容。

    /li>
0 投票
1 回答
166 浏览

c# - 是否有一种测试技术来验证所有属性都已经过测试

我有以下情况,任何帮助将不胜感激。

测试方法 A.......

这工作正常。但是,随着嵌套类的更大测试,使用 ShouldBeEquivalentTo() 变得很麻烦,我希望能够按如下方式执行此操作......

编辑:同样使用方法 A 你不能这样做.... var expected = new Poco { SomeData = [NOT_NULL] , SomeMoreData = "resultTwo" };

测试方法 B.......

但是,如果我向 Poco 添加一个新属性,那么测试方法 B 不会抱怨,并且该属性可能不会被测试。但是,使用方法 A,测试将失败,因为 ShouldBeEquivalentTo() 会注意到新属性为 null

所以,我的问题是,是否有如下方法C。

测试方法 C.......

0 投票
1 回答
154 浏览

c# - 如何在 FluentAssertions 2.1.0.0 中成功设置断点?

使用 Visual Studio 2013,我已通过 NuGet 将 FluentAssertions 2.1.0.0 安装到此 C# 项目中,但无法在 FluentAssertions 中设置断点,即使我已将调试器指向其位于标记v2.1的源代码。如何在 FluentAssertions 中成功设置断点?

此外,当在 FluentAssertions 中捕获异常时(这就是我首先需要调试它的原因),调试器会警告源代码自程序集构建以来已更改,即使源代码的标记为 v2.1应对应于二进制版本 2.1.0.0。因此,我不确定在(空引用)异常的来源处显示的源代码是否正确,我也无法在我的一生中查明异常的原因。

0 投票
3 回答
11508 浏览

c# - ShouldBeEquivalentTo 的 C# Fluent Assertions 全局选项

在 Fluent Assertions 中,比较具有 DateTime 属性的对象时,有时会在毫秒内出现轻微的不匹配,并且比较失败。我们解决它的方法是设置比较选项,如下所示:

有没有办法设置一次并始终应用它,而不是每次调用 ShouldBeEquivalentTo 时都必须指定它?

Update1:​​尝试了以下方法,但它似乎不起作用,测试在 1 毫秒的差异上失败。工厂似乎没有调用新的默认值。

0 投票
4 回答
14410 浏览

c# - 如何断言所有选定的属性都已设置(不为空或为空)

我想验证(断言)我的 DTO 对象上的某些属性是否已设置。我试图用 Fluent Assertions 来做,但下面的代码似乎不起作用:

是否可以使用 Fluent Assertions 或其他工具来实现这一点?流利的断言有 ShouldBeEquivalentTo,但实际上我只关心那些是否不是空值/空值,因此我无法使用。

当然我可以在每个属性级别上做一个断言,但对一些更优雅的方式感兴趣。

0 投票
1 回答
1424 浏览

c# - 字符串比较断言在看起来应该通过时失败

我有一个检查项目是否正确序列化的测试

但是我在测试失败时收到以下错误

Json.net 显然对字符串做了一些特别的事情,但我不知道是什么。

奇怪的是,这过去了

我想这没什么大不了的,但我想知道为什么。

0 投票
3 回答
2157 浏览

c# - 流利的断言将字符串与 Guid 进行比较

我试图找到最流畅的方式来断言某个字符串是有效的 Guid。

iterTags.GUID是一个string

我的第一次尝试以错误告终,因为string没有实现Guid. 好的,我看到它来了,因为它是在黑暗中拍摄的

所以我想出了这个可行的解决方案,但它并不流利

阅读文档我发现没有更好的断言方法。

我的问题:是否有一种流畅方式来断言字符串是有效的Guid

也许,像...

0 投票
1 回答
1054 浏览

c# - ShouldBeEquivalentTo 用于不同类型的对象

在我的测试中,我有类型的结果,HttpRequestMessage我需要断言它的属性Content设置为正确的对象。

问题是它HttpRequestMessage.Content的(基本)类型与我想要比较的对象不同,我不能像这样使用 ShouldBeEquivalentTo 和 Include :

这不会编译,因为选项使用 Content 属性类型(即HttpContent)而不是ObjectContent.

我发现的唯一方法是有两个这样的断言:

有更好的方法吗?也许某种BeOfType返回铸造对象流利断言而不是基本断言?

0 投票
1 回答
416 浏览

c# - Fluent Assertion 自定义比较与 ref 参数

我有一个矩阵结构和自定义比较方法:

对 Fluent Assertion 的正确调用是什么才能使这种比较起作用?