我希望能够在日志中打印一条消息,其中intellij想法将提供一种比较两个对象(字符串)的好方法.对于失败的junit断言记录的错误消息,这会自动发生:
assertEquals("some\nString", "another\nString");
=>
org.junit.ComparisonFailure: <Click to see difference>
at org.junit.Assert.assertEquals(Assert.java:123)
at org.junit.Assert.assertEquals(Assert.java:145)
at com.something.DummyTest.testDummy(DummyTest.java:89)
<Click to see difference>条目实际上显示为Intellij Idea输出窗口中的链接.当您单击该链接时,将打开一个比较窗口,其中显示了两个值(就像您比较两个文件一样).
简单地抛出异常是不可接受的,因为我想记录多个对象进行比较.我已经尝试过记录文本,但我无法说服想法比较这两个文本.
Cra*_*der 29
IntelliJ IDEA正在使用硬编码的正则表达式.如果文本与模式匹配,则建议单击以查看差异.
模式是:
expected:<bla-blah> but was:<blah-blah-blah>
Run Code Online (Sandbox Code Playgroud)
输出应与assertEquals或的格式匹配assertThat.
确切的模式在IDEA的代码中有点分散,但有些例如在这里.
我遇到了同样的问题,并在https://github.com/joel-costigliola/assertj-core/issues/1364#issuecomment-440800958中找到了解决方案
你应该抛出一个org.junit.ComparisonFailure. 然后 IntelliJ 将显示<Click to see difference>
| 归档时间: |
|
| 查看次数: |
3573 次 |
| 最近记录: |