2016-09-30 48 views
1

我试图使用assertArrayEquals与Scala中的JUnit测试套件中的字符串数组进行比较。它工作正常的基本类型,如IntBoolean,但是它发出将其施加到String时以下错误:如何在Scala中将字符串数组与JUnit进行比较

重载方法值的toString与备选方案:(X $ 1:数组[对象])字符串(X $ 1:字符串(x $ 1:数组[字符串])字符串(x $ 1:数组[字符串])字符串(x $ 1:数组[字符串])字符串(x $ 1:Array [字符串(x $ 1:Array [Long])字符串不能应用于(Array [String])

这对我来说似乎很奇怪,因为使用Java环境中的相同方法毫无问题。 有没有办法规避这种情况?

+1

提示:使用** assertThat(actual,is(whatever))**。几乎所有的工作。 – GhostCat

+0

Jep,就像一个魅力。谢谢! – qantik

+0

感谢您的快速接受。期待再次与您“工作”;-) – GhostCat

回答

1

我的“一般”答案:一个只需要一个断言;那就是assertThat。这断言可与Hamcrest匹配器,所以通常你写下

assertThat(expected, is(whatever)) 

而且使用现有的广泛hamcrest匹配器,你马上得到“预期”的结果;即使对于收藏和这样的事情。

如果标准手段不起作用;编写自定义匹配器也是一项非常简单的任务。

因此,长话短说:只是使用那断言,只是工程。

相关问题