junit 使用AssertJ忽略空白和换行符

vaj7vani  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(132)

我有一个Java应用程序的单元测试,需要比较两个JSON字符串。我只关心数据,格式应该被忽略。我希望我可以使用AssertJ,但我似乎不知道如何使用。我需要忽略Assert中的空格和换行符。AssertJ有两个方法'islogToIgoringNewLines()'和'islogToIgoringWhitespace()',但我只能使用其中一个。似乎没有任何方法可以将它们合并结合起来以获得预期的结果。
目前我的解决方法是在运行Assert之前自己去掉空白。然而,我觉得应该有一种方法来做到这一点,只是Assert。有没有什么方法可以得到我想要的Assert,而不必先操作字符串?

zed5wv10

zed5wv101#

我只能通过使用JSONAssert来实现忽略单元测试的空格和换行符的比较来提供解决方案。

import org.skyscreamer.jsonassert.JSONAssert;

JSONAssert.assertEquals(expect, result, JSONCompareMode.LENIENT);

希望这对你有帮助!

kg7wmglp

kg7wmglp2#

JsonUnit可能会有帮助。使用AssertJ集成,您可以编写:

import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;

...

// compares two JSON documents (note lenient parsing of expected value)
assertThatJson("{\"a\":1, \"b\":2}").isEqualTo("{b:2, a:1}");

相关问题