java - 让assertj打印特殊字符?

标签 java assertj

 assertThat( "abd\n123" ).isEqualTo( "abd\r\n123" );

打印这个

] PasswordCredentialsSerializationTest.testSerialize:33 expected:<"abd[
123"> but was:<"abd[]
123">

除了有趣的方括号定位之外,还有什么方法可以让assertj打印实际的空白字符?在比较大字符串(这不是一个大字符串)的测试中很难发现的事情之一是唯一不同的是空白字符。

最佳答案

您看到的括号是 JUnit 解释 AssertionError 的方式(当 JUnit 位于类路径中时,AssertJ 使用它来构建 IDE 友好的断言错误)。

AssertJ 允许您使用自定义表示来自定义类型在错误消息中的表示方式,请参阅此 example .

关于java - 让assertj打印特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39137083/

相关文章:

junit - AssertJ:对于 Pojo 如何检查一个链式句子中的每个嵌套属性/字段

java - 如何使用 FEST assertThat(...) 方法测试类对象之间的相等性?

Java - 如何在实例化时根据参数动态命名对象?

java - Quartz jdbc store 是否保存作业执行历史?

java - Restful BDD : How to loop on Steps with Soft Assertions

java - AssertJ - 方法 isEqualToComparingFieldByFieldRecursively 不适用于 RuntimeException 对象

java - 乘以 AssertJ 断言中设置的条件?

java - 尝试使用 GSON 解析 JSON

java - 如何在 JPopupMenu 中获得焦点

java - 迭代时出现 NoSuchElementException