问题标签 [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.

0 投票
2 回答
327 浏览

spring - AssertJ-DB 在 Spring Boot 集成测试中冻结

我有以下集成测试:

当我运行此测试时,它会冻结在 @Before 方法中的更改起点行:

我发现测试在线冻结org.assertj.db.type.Changes#setStartPointNowt.getRowsList();但我不知道如何解决它。

当我删除@Transactional注释时,一切正常,没有任何冻结,但测试无法正常工作。

有没有办法解决这个问题保留@Transactional注释?

0 投票
2 回答
811 浏览

arrays - 如何对数组进行断言并且仅在验证所有值后没有匹配项时才失败

我正在使用 NightwatchJs 框架进行测试。我需要将实际值与一组有效值进行比较。但是,当在预期结果数组中找到正确的值时,我当前的实现会引发多次失败。我想显示测试的输出,只有当没有值匹配或测试通过时。


鉴于我有以下数组:

我想知道当前值是否在允许的值(topDesktop 数组)内。

出于显而易见的原因,输出是 for 循环的结果:

我想避免的是每次比赛尝试都失败。有什么绝妙的主意吗?

0 投票
1 回答
4938 浏览

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



我知道这个问题本身非常广泛,因此我自己提供了一个答案——展示这个特定的例子。

0 投票
2 回答
1213 浏览

testing - 软断言时抛出的异常使后续测试失败

根据标题,我正在尝试循环运行测试用例。为了能够计算失败断言的数量,我期望如果 AssertJ 试图断言来自方法调用的返回值,它应该轻轻地失败一次迭代并继续。否则,它违背了软断言的目的。这是一个说明这一点的片段:

输出:

我在这里遗漏了一些东西。难道我做错了什么?

0 投票
3 回答
2628 浏览

java - 使用 AssertJ,我如何对列表的内容执行复杂的断言?

在 AssertJ 中,您可以执行以下操作来断言列表的内容:

我经常发现自己想要对元素本身做更复杂的断言,例如,断言 Alice 是一个高个子的黑发女郎,而 Bob 又小又秃。使用 AssertJ 执行此操作的最佳方法是什么?

我自己的解决方案是:

或等效地(java 7):

但我想知道是否有更好的解决方案。

我喜欢这个解决方案区分列表中的预期元素和元素本身正确的事实。

0 投票
1 回答
3812 浏览

java - 使用 AssertJ 1.x 软断言断言该方法不会引发异常

我想测试一个特定的方法是否可以毫无例外地处理一堆字符串。因此,我想使用 AssertJ 的软断言,例如:

不幸的是,我必须分别坚持使用 AssertJ 1.x 和 Java 6,所以我不能利用这一点:

有没有办法用 AssertJ(或 JUnit)做到这一点?

0 投票
2 回答
3265 浏览

java - 检查对象列表是否相等,无需在其 List 属性中进行顺序检查

前提条件:我正在将复杂的 JSON 反序列化为数据类。目标类有一些复杂的层次结构。

我有一个对象列表。其中 ServiceFeature 如下(它在 kotlin 中,但没关系):

如您所见ServiceFeature,有一个“属性”属性,其中包括另一个“属性”列表。要点是列表中的属性可能是任何顺序。有没有一种可靠的方法来比较两个ServiceFeatures没有订单检查的列表List<Attribute?>

我正在尝试使用 assertJ 找到解决方案。

0 投票
1 回答
1665 浏览

java - 使用 AssertJ 验证列表项是否具有相同的值,但不是相同的实例

我想知道如何使用 AssertJ 实现以下目标:

我正在测试一个克隆图形顶点并将克隆的顶点作为列表返回的函数。我的测试应该确认克隆与顶点具有相同的值,并且它们不是相同的实例。我知道如何实现第一部分。这是让我难过的第二部分。

0 投票
1 回答
44 浏览

java - 计数事件和测试 rxJava

我有以下代码:

转换为以下日志输出:

最让我担心且我不完全理解的是事实,即测试最后一行中的最后一个断言:

实际上变成绿色并且测试通过了。另一次当我运行它时,我得到 4 作为控制台上的最后一个值,numberOfGeneratedEvents并且测试也变为绿色,所以没关系。这里出了什么问题,随机性在哪里?我在做坏事AtomicInteger吗?

0 投票
1 回答
1806 浏览

java - 带有通配符的列表上的 AssertJ `containsExactly` 断言

我有一个 getter 返回一个带有通配符的列表:

Bar另一个接口在哪里。

当我像这样用 AssertJ 编写断言时:

编辑:我的完整用法是链接 ausingElementComparator并提供 aComparator<Bar>来比较预期的Bar实例。

我得到这个编译错误:

ListAssert 类型中的 containsExactly(capture#46-of ? extends Bar...) 方法不适用于参数 (Bar, Bar)


我的第一个解决方案是转换结果:

然后我收到一个警告:

类型安全:从列表到列表的未经检查的转换

可以使用 删除警告@SuppressWarnings("unchecked"),但中间的强制转换仍然不会使断言真正可读。


我的第二个解决方案是指示 ELEMENT 通用参数的值:

好一点,但也不是很好(不能静态导入,行首不利于可读性)


我想我正在寻找另assertThat一种列表方法,其中类类型可以指定为第二个参数:

这样我应该能够写出这样的东西: