问题标签 [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.
c# - 流利的断言 ThatAreNotDecoratedWith
我想使用 FluentAssertions 来测试所有没有用 NonActionAttribute 修饰的方法。(这将减少由 T4MVC 作为占位符自动生成的操作方法集。)
我的具体问题是将 MethodInfoSelector 方法链接在一起。我想写这样的东西:
转换失败,或者如果我将结果转换为 IEnumberable,我无法链接其他 MethodInfoSelector 方法。
对于如何生成 MethodInfoSelector 或针对列出没有特定属性的方法的潜在问题的不同方法,我将不胜感激。
c# - 比较时如何使 FluentAssertions ShouldBeEquivalentTo 检查类型?
我有 2 个字典,我希望内容不相等,因为字典包含不同类型的值。但是以下测试通过
如果这是预期的行为,我该如何设置一个流畅的断言规则来检查类型是否匹配?
我已经使用 MatchingRule 和 AssertionRule 进行了调查,但在这两种情况下,我似乎都无法访问主题的原始类型和预期。似乎主题已经转换为预期的类型。即,在上面的示例中,第一个字典中的 updateInterval 已经被转换为字符串,以便与第二个字典进行比较。
谢谢你的帮助,
瑞秋
c# - 如何检查是否可以在 Fluent Assertion 中使用 ContainValue 验证类型类的字典
我正在尝试将自定义类类型的字典检查为值。
我想知道在 Fluent Assertion 中使用 ContainValue 在 Dictionary 中搜索值的方法是否正确。
这是代码
员工类
当我执行这段代码时,我得到了如图所示的异常
**
**
请帮助我了解我在这里做错了什么。
谢谢,
fluent-assertions - FluentAssertions 升级后编译错误
我已将我的项目升级到最新的 FluentAssertions 并在以下行出现奇怪的编译错误:
错误是:
“System.Array”不包含“Should”的定义,并且找不到接受“System.Array”类型的第一个参数的扩展方法“Should”(您是否缺少 using 指令或程序集引用?)
c# - 流畅的断言:在 DateTime 属性的集合上使用 BeCloseTo
我正在处理许多项目,每个项目都包含一个 DateProcessed 属性(一个可为空的 DateTime),并希望断言该属性设置为当前日期。当它通过处理程序时,日期都略有不同。
我想测试所有 DateProcessed 属性是否具有相对性(100 毫秒)最近的 DateTime。
Fluent Assertions 具有 .BeCloseTo 方法,该方法非常适用于单个项目。但我想将它用于整个系列。但是在查看集合时,它不能通过 Contains() 获得。
一个简化的例子...
c# - NHibernate 在 Nunit 测试中的奇怪失败
用 NUnit 和 FluentAssertion 运行一个简单的测试我有这个失败的消息:
但我没有看到差异。这可能是失败的原因?
这是测试方法
ID = 1 的角色是我直接在数据库中手写的
这是我与 NHibernate 一起使用的基础存储库
c# - 在 FluentAssertions 中,为什么应该是方法而不是属性?
在 FluentAssertions 中,您可以以各种格式提出各种声明。
都是有效的断言。
为什么是Should
方法而不是属性?我还没有看到任何Should
带有参数的例子,所以在我看来它很容易成为一个属性。
你也可以断言
这里,And
是属性而不是方法。不应该And
和Should
每个都是相同类型的元素(方法/属性)?
TL;DRShould
在 FluentAssertions 中创建方法而不是属性
的设计选择背后是否有正当理由?
c# - 流畅的断言:断言一个或另一个值
使用流利的断言,我想断言给定的字符串包含两个字符串之一:
只有当这两个值都不包含时,断言才应该失败。由于没有运算符,这不起作用(甚至无法编译)Or()
。
这就是我现在的做法:
这是冗长的,并且必须手动创建“因为”参数才能获得有意义的输出。
有没有办法以更易读的方式做到这一点?解决方案还应适用于其他流畅的断言类型,例如Be()
等HaveCount()
...
我在 .NET 3.5 上使用 FluentAssertions 版本 2.2.0.0,如果这很重要的话。
fluent-assertions - 如何将两个 MemoryStream 与 FluentAssertions 进行比较
使用FluentAssertion 3.1.229,你如何比较两个不同的内容MemoryStream
?
写入actualStream.Should().Be(expectedStream);
会产生以下错误:
是的,我可以使用 NUnit Assert.That(actualStream, Is.EqualTo(expectedStream));
,但可以使用 FluentAssertions 吗?
谢谢。
unit-testing - 如何测试我的工厂是否正确绑定?
使用Ninject,我有以下内容并希望使用FluentAssertions进行测试:
有什么好的方法可以测试工厂是否真的绑定正确?