将hamcrest匹配器与原始类型数组一起使用

k13n:

由于这种情况下的自动装箱和拆箱,Hamcrest对于原始数据类型非常有效:

assertThat(1, is(1));

但是,我想将hamcrest的hasItemInArray匹配器与原始类型数组一起使用,如下所示:

int[] values = someMethodCall();
assertThat(values, hasItemInArray(1));

由于没有针对原始数据类型的数组进行自动装箱/拆箱,因此上述代码无法编译。除了手动将from转换为以外,还有什么其他方法可以实现上述int[]要求Integer[]

斯蒂芬·阿什森(Stephen Asherson):

AFAIK没有实现这一目标的自动方法。如果您可以使用第三方库,则可能需要检出Apache Commons Lang库,该库为ArrayUtils类提供了一种转换方法:

整数[] toObject(int []数组)

int[] values = someMethodCall();
Integer[] objValues = ArrayUtils.toObject(values);
assertThat(objValues , hasItemInArray(1));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将jmockit期望与匹配器和原始类型一起使用

将RSpec的all匹配器与Capybara的have_css匹配器一起使用时出错

将映射类型与模板文字类型一起使用时如何使用原始映射键?

将Streams与原始数据类型和相应的包装一起使用

为什么Java编译器会抱怨将foreach与原始类型一起使用?

与MKL一起使用的数组类型

指针如何与Java中的原始类型一起使用?

将Volley与同步适配器一起使用

使用VBA与数组一起运行Unix命令会得到类型不匹配错误

将 cin 与数组一起使用

将%s与数组一起使用

将unordered_map与Catch2谓词一起使用时类型不匹配

将函数与原始输入一起使用

如何在assertThat中将hamcrest nullValue与类型推断一起使用

将 Math.max 与类型化子数组一起使用

如何将数组方法与联合类型元素一起使用?

如何将LoDash GroupBY与不同的数组类型一起使用

如何将DataTables与其他匹配器结合在一起?

Visual Studio Code问题匹配器无法与自定义输出一起使用

我可以将自定义匹配器与 toHaveBeenCalledWith 一起使用吗?

像anyString()这样的Mockito特定匹配器似乎无法与重载方法一起使用?

模式/匹配器无法与换行符一起使用

为什么不能将原始类型与多态返回类型一起使用?

将@EnableCaching与自定义AOP建议一起使用时,代理类型不匹配(JDK与CGLIB)

如何一起使用JUnit和Hamcrest?

将Foq与F#函数类型一起使用

TypeScript:将映射类型与泛型一起使用

将Flow类型与地图功能一起使用

将GetFieldValueAsync与GetFieldType中的类型一起使用