问题标签 [assertthat]

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

junit5 - containsString 未定义

我有一个 Junit(5) 测试用例,它在变量超出范围时寻找异常,并为此引发 IllegalArgumentException。

我得到错误

我已经为 JUnit 和 hamcrest 尝试了许多不同的导入语句,但我似乎无法让它工作。

0 投票
2 回答
1744 浏览

java - The method is(int) is undefined

I imported using the following:

import static org.junit.Assert.*;

But on the following line:

assertThat(0, is(1));

I get The method is(int) is undefined for the type AppTest.

The name of this method is so common in the English language that I can not find where to import this.

So my question is, where can I import is (and not).

0 投票
2 回答
265 浏览

karate - 空手道和黄瓜之间不兼容的黄瓜json报告

我正在尝试将空手道测试的 json 结果导入AssertThat Jira 插件。

导入适用于黄瓜 js 5.1.0,但使用空手道 0.9.2 失败

似乎问题在于 AssertThat 在 json 中使用功能的“名称”来关联其内部功能名称,以及空手道和黄瓜 js 使用“名称”和“描述”字段的方式之间的差异。

Cucumber js 使用功能文件本身中的功能名称,例如,带有“功能:测试报告”的功能文件将生成一个带有以下内容的 json:

而空手道使用特征文件名作为“名称”并将实际特征放在“描述”中:

0 投票
1 回答
214 浏览

string - Hamcrest AssetThat equalTo 由于对象值数组中的 unicode 字符“'\u200E'8206”而失败

我在测试中使用 Hamcrest 进行断言。下面的代码片段适用于其他字符串比较,但是下面的语句由于对象值数组中第 0 位的一些随机字符(?)而失败,如下图所示。

结果如下:

返回对象的值数组

如果有帮助,Book 是 Product 实体的扩展 JPA 实体,其中 Product 具有注释 @Inheritance( strategy = InheritanceType.JOINED )。

产品类别

书类

在 data.sql 中的测试数据中,我有:

我正在取消编组返回的 json, @GetMapping(path = "/products/{id}")例如:

神秘的是,我'\u200E' 8206只为 ID=1 得到这个 unicode 字符

这是整个代码库的链接: https ://bitbucket.org/tyro_02/demo.cart/

0 投票
1 回答
66 浏览

r - 返回除了 R 中抛出的最后一条错误消息之外的错误消息

我有两个构造 R S3 对象的函数。一个对象封装另一个。当用户将错误num参数传递给fun2()它时,会在fun2(). 我认为用户在fun1(). 有哪些选项可以保留 in 提出的消息fun1()并提出该消息而不是消息 in fun2()

追溯如下

0 投票
0 回答
42 浏览

java - Java:Selenium WebElements 和 AssertThat 给出不正确的结果

好的。要么这实际上很奇怪,要么我缺少一些基本的东西。我有一些代码试图断言 WebElements 列表不存在。如果我使用 assert 和 < 1 作为列表大小,它可以工作。但我首选的断言方法是 assertThat .isLessThan,它在完全相同的情况下不起作用。

编码:

当使用上面的 assertThat 时,我得到了非预期的断言错误:

怎么会这样?

值得一提的是,在系统从 Angular6 升级到最新版本之前,assertThat() 在这段代码中已经使用了好几年。但这应该与 Java 的 assertThat() 声称 size() 为零是 1 没有任何关系?检查变量自然会发现 size() 确实为零,正如 assert < 1 所证明的那样。但显然不是根据 assertThat().isLessTHan()。

0 投票
1 回答
50 浏览

r - 取决于其他人的匹配参数的最佳实践

我是 R 函数的新手,到目前为止,我会检查以下参数:

reprex 包(v0.3.0)于 2020 年 6 月 28 日创建

但是在使用多个 args 时似乎需要做很多工作。

我看了看assetthatcheckmate包装,但我不清楚什么是正确或标准的方法。

0 投票
1 回答
68 浏览

java - 如何在 assertThat 中使用带有类型推断的 hamcrest nullValue

我需要使用 junit 5 和 assertThat 编写测试用例来检查空值。

我写如下。但是,这会导致数据类型不匹配的错误。

在此处输入图像描述

这个也试过了。然而同样的错误。

任何示例/建议如何使用 nullValue(T type) 来解决此问题?

我需要编写测试用例来验证 java.sql.Date 是否使用我的 Converter 类正确转换为 java.time.OffsetDateTime。因此,我写了如下。

上面的测试用例工作正常。

我想知道这是否是正确的方法,因为我将实际值和预期值都转换为本地日期以进行比较?

0 投票
0 回答
29 浏览

java - 包含为两个相同的对象返回 false

我有一个 MetroStop 类如下:

我从具有以下格式的文件中读取:

从该文件的行中,我创建 MetroStop 对象并将它们添加到 ArrayList。添加所有对象后,我执行以下断言来验证特定对象是否在列表中。

testMetro 对象是从文件中随机行的数据创建的,因此我确信列表包含它。我还打印了列表的所有元素,我可以看到与 testMetro 完全相同的对象,但断言是错误的,因为包含返回错误。你能帮我理解为什么我会弄错吗?谢谢!

0 投票
1 回答
139 浏览

kotlin - 如何在任何条件下使用 assertThat?

如何编写以下断言:

与谷歌真相assertThat