问题标签 [assertj]
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.
spring - AssertJ-DB 在 Spring Boot 集成测试中冻结
我有以下集成测试:
当我运行此测试时,它会冻结在 @Before 方法中的更改起点行:
我发现测试在线冻结org.assertj.db.type.Changes#setStartPointNow
,t.getRowsList();
但我不知道如何解决它。
当我删除@Transactional
注释时,一切正常,没有任何冻结,但测试无法正常工作。
有没有办法解决这个问题保留@Transactional
注释?
arrays - 如何对数组进行断言并且仅在验证所有值后没有匹配项时才失败
我正在使用 NightwatchJs 框架进行测试。我需要将实际值与一组有效值进行比较。但是,当在预期结果数组中找到正确的值时,我当前的实现会引发多次失败。我想显示测试的输出,只有当没有值匹配或测试通过时。
鉴于我有以下数组:
我想知道当前值是否在允许的值(topDesktop 数组)内。
出于显而易见的原因,输出是 for 循环的结果:
我想避免的是每次比赛尝试都失败。有什么绝妙的主意吗?
java - 如何开始:使用 AssertJ Swing 测试 Java Swing GUI
在使用 Swing 开发 Java 桌面应用程序时,我遇到了直接测试 UI 的需求,而不仅仅是通过单元测试来测试底层控制器/模型类。
这个答案(关于“什么是基于 Swing 的应用程序的最佳测试工具?”)建议使用FEST,但遗憾的是已停产。然而,有几个项目是从 FEST 离开的地方继续进行的。特别是一个(在这个答案中提到)引起了我的注意,因为我之前在单元测试中使用过它:AssertJ。
显然有AssertJ Swing,它基于 FEST 并提供了一些易于使用的编写 Swing UI 测试的方法。但是,进行初始/工作设置仍然很麻烦,因为很难说从哪里开始。
如何为以下示例 UI 创建一个最小测试设置,仅包含两个类?
约束:Java SE、Swing UI、Maven 项目、JUnit
我知道这个问题本身非常广泛,因此我自己提供了一个答案——展示这个特定的例子。
testing - 软断言时抛出的异常使后续测试失败
根据标题,我正在尝试循环运行测试用例。为了能够计算失败断言的数量,我期望如果 AssertJ 试图断言来自方法调用的返回值,它应该轻轻地失败一次迭代并继续。否则,它违背了软断言的目的。这是一个说明这一点的片段:
输出:
我在这里遗漏了一些东西。难道我做错了什么?
java - 使用 AssertJ,我如何对列表的内容执行复杂的断言?
在 AssertJ 中,您可以执行以下操作来断言列表的内容:
我经常发现自己想要对元素本身做更复杂的断言,例如,断言 Alice 是一个高个子的黑发女郎,而 Bob 又小又秃。使用 AssertJ 执行此操作的最佳方法是什么?
我自己的解决方案是:
或等效地(java 7):
但我想知道是否有更好的解决方案。
我喜欢这个解决方案区分列表中的预期元素和元素本身正确的事实。
java - 使用 AssertJ 1.x 软断言断言该方法不会引发异常
我想测试一个特定的方法是否可以毫无例外地处理一堆字符串。因此,我想使用 AssertJ 的软断言,例如:
不幸的是,我必须分别坚持使用 AssertJ 1.x 和 Java 6,所以我不能利用这一点:
有没有办法用 AssertJ(或 JUnit)做到这一点?
java - 检查对象列表是否相等,无需在其 List 属性中进行顺序检查
前提条件:我正在将复杂的 JSON 反序列化为数据类。目标类有一些复杂的层次结构。
我有一个对象列表。其中 ServiceFeature 如下(它在 kotlin 中,但没关系):
如您所见ServiceFeature
,有一个“属性”属性,其中包括另一个“属性”列表。要点是列表中的属性可能是任何顺序。有没有一种可靠的方法来比较两个ServiceFeatures
没有订单检查的列表List<Attribute?>
我正在尝试使用 assertJ 找到解决方案。
java - 使用 AssertJ 验证列表项是否具有相同的值,但不是相同的实例
我想知道如何使用 AssertJ 实现以下目标:
我正在测试一个克隆图形顶点并将克隆的顶点作为列表返回的函数。我的测试应该确认克隆与顶点具有相同的值,并且它们不是相同的实例。我知道如何实现第一部分。这是让我难过的第二部分。
java - 计数事件和测试 rxJava
我有以下代码:
转换为以下日志输出:
最让我担心且我不完全理解的是事实,即测试最后一行中的最后一个断言:
实际上变成绿色并且测试通过了。另一次当我运行它时,我得到 4 作为控制台上的最后一个值,numberOfGeneratedEvents
并且测试也变为绿色,所以没关系。这里出了什么问题,随机性在哪里?我在做坏事AtomicInteger
吗?
java - 带有通配符的列表上的 AssertJ `containsExactly` 断言
我有一个 getter 返回一个带有通配符的列表:
Bar
另一个接口在哪里。
当我像这样用 AssertJ 编写断言时:
编辑:我的完整用法是链接 ausingElementComparator
并提供 aComparator<Bar>
来比较预期的Bar
实例。
我得到这个编译错误:
ListAssert 类型中的 containsExactly(capture#46-of ? extends Bar...) 方法不适用于参数 (Bar, Bar)
我的第一个解决方案是转换结果:
然后我收到一个警告:
类型安全:从列表到列表的未经检查的转换
可以使用 删除警告@SuppressWarnings("unchecked")
,但中间的强制转换仍然不会使断言真正可读。
我的第二个解决方案是指示 ELEMENT 通用参数的值:
好一点,但也不是很好(不能静态导入,行首不利于可读性)
我想我正在寻找另assertThat
一种列表方法,其中类类型可以指定为第二个参数:
这样我应该能够写出这样的东西: