assertThat(list, either(contains(Tags.SWEETS, Tags.HIGH))
.or(contains(Tags.SOUPS, Tags.RED)));
编辑:
由于3.12.0 AssertJ提供SatisfieSanyOf
,成功是给定断言成功之一,
assertThat(list).satisfiesAnyOf(
listParam -> assertThat(listParam).contains(Tags.SWEETS, Tags.HIGH),
listParam -> assertThat(listParam).contains(Tags.SOUPS, Tags.RED)
);
原文答案:
Set<String> goodTags = newLinkedHashSet("Fine", "Good");
Set<String> badTags = newLinkedHashSet("Bad!", "Awful");
Set<String> tags = newLinkedHashSet("Fine", "Good", "Ok", "?");
// contains is statically imported from ContainsCondition
// anyOf succeeds if one of the conditions is met (logical 'or')
assertThat(tags).has(anyOf(contains(goodTags), contains(badTags)));
import static org.assertj.core.util.Lists.newArrayList;
import java.util.Collection;
import org.assertj.core.api.Condition;
public class ContainsCondition extends Condition<Iterable<String>> {
private Collection<String> collection;
public ContainsCondition(Iterable<String> values) {
super("contains " + values);
this.collection = newArrayList(values);
}
static ContainsCondition contains(Collection<String> set) {
return new ContainsCondition(set);
}
@Override
public boolean matches(Iterable<String> actual) {
Collection<String> values = newArrayList(actual);
for (String string : collection) {
if (!values.contains(string)) return false;
}
return true;
};
}
我正在编写集成测试,我想使用事务范围。我们使用EF和带有上下文的存储库。 编辑在评论中我被要求包括更多的代码,然而,我认为没有必要回答我的问题。
我如何测试任何或或中的键? Python中有一些短而简单的方法吗? 有两把钥匙,我可以用 我怎么能用三把钥匙做同样的事?
我打字的时候 是物体吗? 谁能给我解释一下在java中每样东西都是一个对象?
假设我有两个数组,和,其中是的子集: 我想返回如下数组: 如果只是一个数字,那就足够简单了(),但我尝试了y中的等效
男面试官,挺困倦的,基本没问项目,全是八股 -自我介绍 -在项目中遇到什么印象深刻的困难,怎么解决的 -技术栈是什么(说python和java,开始问java) -一栋楼四部电梯,有18层,怎么做测试工作? -Java有哪些集合类,各自有什么特点 -Java里如何实现多线程 -索引有什么劣势 -MySQL常见索引 -什么情况下索引失效;如何判断是否使用了索引 -MySQL有哪些锁 -某某锁是做什么