问题标签 [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 投票
3 回答
9255 浏览

java - 如何使用assertJ递归地比较列表忽略给定的字段?

首先,这不是这个问题的重复。在那里,它被专门要求一个对象。我想为一个容器做这个,特别是一个列表。

所以,我知道我可以在使用时忽略一个字段, usingElementComparatorIgnoringFields() 但这不会进行递归比较。

我知道我可以使用usingRecursiveFieldByFieldElementComparator(). 但这不允许我排除给定的字段。

如何递归比较,忽略一个字段?

0 投票
1 回答
177 浏览

gradle - 在 assertj 中输出预期列表和实际列表之间的完整差异

我正在使用 groovy、assertj、junit 和 gradle。我有一个包含这样断言的测试

当我运行gradle test并且这些列表不相等时,它会生成一个带有异常的测试报告

我可以以某种方式配置异常输出格式,以便完全输出两个列表吗?

0 投票
1 回答
6892 浏览

java - AssertJ:调用提取后列表的 FlatMap 列表

所以我有一个字符串/字符串列表对的映射,我想做的是在提取后,将返回的列表组合成一个列表,我可以在该列表上执行更多断言:

我的测试.java

当我调用提取时,它会将列表值提取到列表列表中,这很好,但之后我不能调用 flatExtracting,因为没有要传入的属性名称,而且从我读过的内容来看似乎没有像自定义提取器一样合适(否则我不完全确定如何将它组合在一起)。有没有另一种方法来展平我回来的列表列表?我可以走一条稍长的路线并在列表列表上进行断言,或者在断言之前使用 lambda 来收集结果,但我想将断言保持为一个(例如,一些地图断言然后在内容上链接一些断言)

0 投票
1 回答
244 浏览

java - 具有多个嵌入 Swing 组件的 RCP 插件的应用程序的测试自动化方法

我想对一个包含 20 多个 Eclipse RCP 插件的大型应用程序进行功能测试自动化。最具挑战性的部分是几乎所有的 RCP 插件都嵌入了一些遗留的 Swing 组件。现在我几乎可以肯定,没有开源测试自动化框架支持开箱即用地测试 SWT+Swing 应用程序。有些框架支持测试纯 SWT 应用程序或纯 Swing 应用程序,但没有框架支持测试混合了 SWT 和 Swing 的 AUT。我用一个示例 SWT+Swing 应用程序进行了一些实验。此示例应用程序不是 RCP 插件,而是带有嵌入式 Swing 控件的独立 SWT 应用程序。我使用两个不同的库来测试 SWT 和应用程序的 Swing 部分。

对于 SWT,我使用了: https ://github.com/mmarquee/ui-automation

对于 Swing,我使用 了 http://joel-costigliola.github.io/assertj/assertj-swing.html

它工作得很好。我有一个自动化 SWT 和 Swing 组件的 Junit 测试。所以我很高兴能采用这种方法来测试 RCP 插件。

所以来到我的问题:对于 SWT 部分,我很好,因为 UI 自动化绑定与 RCP 插件的 SWT 部分配合得很好。问题在于使用 AssertJ Swing。AssertJ Swing 使用一种非常不同的方法来附加到 AUT。事实上,它并没有附加到 AUT 的单独实例,而是将实际的 Swing 组件包装到称为 Fixtures 的东西中。因此,使用 AssertJ Swing 测试 Swing 组件的代码必须在与 AUT 相同的 JVM 中运行。一个想法是实现一个新的 RCP 插件并在这个 RCP 插件中包含 Swing 测试。我可能需要一些时间来学习编写 RCP 应用程序。所以我想问一下这个解决方案是否有任何潜在的问题。我已经看到的一个问题是,AssertJ Swing 是否允许在不调用 ApplicationLauncher.application 的情况下查找框架和对话框。

请注意,虽然这个问题听起来像是关于 AssertJ Swing,如果我能得到关于 AssertJ Swing 的答案和解决方案,我很好,我想听听更多关于解决一起测试多个嵌入 Swing 的 RCP 插件问题的想法成分。我对完全不同的方法持开放态度,但是我想坚持使用开源框架。

0 投票
1 回答
749 浏览

java - AssertThat 错误:无法访问路径(找不到 java.nio.file.Path)

我想使用 Robolectric 进行单元测试,但我正在尝试使用 robolectric 进行简单测试,但我一开始就卡住了。我按照手册进行操作,对示例进行了同样的操作,甚至其他帖子也无济于事。每次我收到错误消息:无法访问路径。找不到 java.nio.file.Path 的类文件。

我的 build.gradle 是:

我的测试课是:

}

但是每个设置都不起作用。非常感谢任何帮助,感谢您的帮助。

0 投票
1 回答
3196 浏览

compare - AssertJ 比较双精度值

我想将 double 值与 AssertJ 进行比较。我不明白为什么我的测试失败了。

例外是:

为什么断言失败?

0 投票
1 回答
571 浏览

android - AndroidJUnitRunner 1.0.0 和 AssertJ 的检测测试失败

我正在尝试将我的项目更新为最近发布的 Android 测试支持库版本1.0.0。但是,如果我添加assertj-core依赖项 Gradle 检测测试任务开始失败并显示“未找到测试”消息。不过,我可以从 IDE 成功运行单个测试。

很容易重现问题:

  1. 使用空活动从 Android Studio 3 创建新项目。
  2. 添加assertj-core依赖。
  3. 从命令行运行检测测试./gradlew connectedDebugAndroidTest

梯度脚本。

控制台输出。

如果降级com.android.support.test:runner到以前的版本0.5 ,测试会成功运行。

0 投票
1 回答
195 浏览

assertj - 集成 AssertJ 和 ExtentReport

这是一个示例方法,解释了我想要做什么。

我的问题是如何用另一个动作扩展 AssertJ, .extentLog(args) 方法?谢谢

0 投票
1 回答
1815 浏览

unit-testing - 如果在另一个线程中抛出异常,则单元测试失败

目前,每当我需要响应另一个线程中抛出的异常而使测试失败时,我都会编写如下内容:

同步列表可以替换为AtomicReference<Throwable>,但通常代码几乎相同。

使用Java中可用的任何测试框架(TestNGJUnitHamcrestAssertJ等) ,是否有任何标准(且不那么冗长)的方法来做同样的事情?

0 投票
1 回答
3264 浏览

assertj - AssertJ 检查列表包含 X 项但全部为空

我查看了 AssertJ 示例(https://github.com/joel-costigliola/assertj-examples/blob/master/assertions-examples/src/test/java/org/assertj/examples/IterableAssertionsExamples.java)但是我找不到以下示例:-

  1. 断言列表的大小为 X 例如3
  2. 断言所有项目都是null

例如

注意 -containsOnlyNulls不存在,但这本质上是我想要测试的。这可以在 AssertJ 中实现吗?