- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到过这样的情况,我需要集合中的所有对象在字段中都具有特定的 boolean 值。 extracting() 似乎是一个非常好的候选者。我能够非常轻松地“访问”该字段,但是当我想检查它的值时,我无法在 API 中找到一种干净的方法来执行此操作。我首先想到的是:
SomeService someService = new SomeService();
List<ClassA> llList = someService.getList();
assertThat(llList).extracting("someBoolean")
.are(new Condition<Object>() {
@Override
public boolean matches(Object o) {
return Boolean.FALSE.equals(o);
}
});
这似乎是很常见的事情,我很困惑,因为我无法在 AssertJ API 中找到更好的东西。为了增强可读性,我接下来执行了以下操作:
assertThat(llList).extracting("someBoolean")
.are(createBooleanCondition(false));
public static Condition<Object> createBooleanCondition(boolean expected){
return new Condition<Object>() {
@Override
public boolean matches(Object o) {
return new Boolean(expected).equals(o);
}
};
}
是否有更简洁的方法来使用 AssertJ 表达这种断言?
注意:我可以使用 java8 lambda 来使其更清晰,但我的问题是针对 assertj 的,而且我还有一个硬性规则,即我需要在 java 1.7 中编译它。
最佳答案
要检查每个提取的 boolean 值是否为假,我只需这样做:
assertThat(llList).extracting("someBoolean").containsOnly(Boolean.FALSE);
关于java - 根据 AssertJ 中的原始值检查从 Collection 中提取的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479603/
使用 Hamcrest 可以很容易地否定匹配器。例如。你可以写一个这样的断言: assertThat("The dog bites Tom", not(stringContainsInOrder(Ar
我找不到如何使用 assertj 检查以下内容(这很常见): 假设我有: result1 = {"AAA", "BBB"} result2 = {"DDD"} 我想检查结果中的值是其中之一: St
下面是一个例子: assertThat(commentById.getId()).isNotNull(); assertThat(commentById.getContent()).isNotBlan
我有一个 spring boot api 应用程序,我使用 springfox 生成 swaggerv2 api 文档,并且我创建了一个测试来查看我的 api 定义是否正确。 我的配置如下: @Con
我使用assertj来做一些espresso中不允许的断言,但我不明白这里的问题,我做了中所说的 here . build.gradle dependencies { // Android Tests
例子: public class Office { List employee; } 我如何在我的 List offices 中断言没有没有员工?是否可以用一个断言链来断言? 最佳答案 如果我正确
在停止开发后,我使用了FEST-Assert并移至AssertJ。 最近,我被指向 Google 存储库以及另一个声明库Truth(http://google.github.io/truth/)。 阅
所以我有一个String/String列表对映射,我想做的是在提取之后,将返回的列表组合成一个列表,在该列表上我可以执行更多的断言: MyTest.java Map> testMap = new H
AbstractIterableAssert#containsOnly说: Verifies that the actual group contains only the given values
我试图了解是否可以配置 AssertJ 将断言的否定结果记录到文件中,而不中断正在运行比较的路由。 此请求背后的原因是,我们正在比较软件的两个版本生成的 JSON 以发现差异,但我不想手动创建所有检查
我正在尝试验证提取列表中的第一项。然而 AssertJ 返回 List而不是 .first() 中的预期对象. 给出以下示例 public class AssertJTests { @Test
有没有办法用 AssertJ 检查对象是否是某个集合的元素?类似的东西 assertThat(actualObject).isElementOf(collectionWithExpectedOptio
我有一个测试用例,其中我使用执行程序服务并调用许多可调用线程。这些线程可能会导致成功调用,也可能会给出异常(这是预期的行为)。我需要断言 future 的对象要么抛出异常,要么返回正确的响应。 for
我想检查正在测试的集合是否包含以特定字符串结尾的任何元素。 对于 Hamcrest,它可能是这样的: assertThat("Contains an element ending with 'xyz'
我有一个可选列表,比如 List> optionals我喜欢用 assertj在它上面断言几件事。 但我没能正确地做到这一点——我只在单个可选上找到示例。 当然我可以自己做所有的检查 Assertio
假设我有一个Map我是这样的: assertThat( spyActionMap.get( "a" ) ).isInstanceOf( Action.class ); ...通过。现在我想检查
我正在使用 AssertJ 进行测试,我注意到有一种方法可以检查 List 是否存在。已排序: public static void sorted(final List actual) {
假设我有一个类 Foo ,它没有实现 Comparable和一个 FooComparator类,它实现 Comparator . 使用 AssertJ 的流畅 API,我现在假设我可以做这样的事情:
有没有一种方法可以在再次使用 AssertJ 时抛出异常来检查原因中的消息是否等于某个字符串。 我目前正在做类似的事情: assertThatThrownBy(() -> SUT.method())
在 AssertJ 中,您可以执行以下操作来断言列表的内容: assertThat(list).extracting("name").containsExactlyInAnyOrder("Alice"
我是一名优秀的程序员,十分优秀!