gpt4 book ai didi

java - 断言成功后返回值

转载 作者:行者123 更新时间:2023-12-02 02:44:16 27 4
gpt4 key购买 nike

我对用于测试的函数有一点问题。这是我的测试方法:

public static List<FieldError> proofFields(final List<String> fieldNames, final List<FieldError> errors, boolean fieldsAbsent){
List<FieldError> foundFields = errors.stream().filter(fieldError -> fieldNames.contains(fieldError.getField())).collect(toList());
if(fieldsAbsent){
assertTrue(foundFields.isEmpty());
} else {
assertTrue(fieldNames.size() == foundFields.size());
}
return foundFields;
}

它应该检查一个列表是否(部分)包含在另一个列表中。

无论测试成功与否,我都想返回结果。有没有办法做到这一点,或者assertTrue/assertFalse总是立即退出?

最佳答案

你的方法应该返回值或验证数据。不要混合使用。你做到了,现在你遇到了问题:)

public static List<FieldError> proofFields(final List<String> fieldNames, final 
List<FieldError> errors){
return errors.stream().filter(fieldError ->
fieldNames.contains(fieldError.getField())).collect(toList());
}

public static assertFieldWithError(final List<String> fieldNames, final
List<FieldError> errors){
assertEquals(fieldNames.size(), foundFields.isEmpty());
... iterate do more detail and check ....with assertXXXX();
}

public static assertFieldWithoutError(final
List<FieldError> errors){
assertTrue(foundFields.isEmpty());
}

也可用于构造,例如:

assertTrue(fieldNames.size() == foundFields.size())

更好地使用

assertEquals(fieldsAbsent.size() , foundFields.size());

因为它提供了更多信息。

关于java - 断言成功后返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44907664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com