gpt4 book ai didi

java - 是否有使用 Hamcrest 'describeMismatch' 功能的 JUnit assertThat 版本?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:22 25 4
gpt4 key购买 nike

在我尝试过的每个 JUnit 版本中(最高 4.8.1),失败的 assertThat 将显示如下错误消息:

预期:[describeTo]
得到:[对象的字符串表示]

换句话说,它将显示对象的 toString() 而不是来自 Matcher 的不匹配描述。如果我使用 org.hamcrest.MatcherAssert.assertThat 中的 assertThat,那么它将调用“describeMismatch”并显示更有用的错误消息。

我是否错误地使用了 Junit,或者目前是否没有可以满足我要求的 JUnit 版本?那么大多数人使用 Hamcrest assertThat 吗?

最佳答案

简短的回答:没有。

据我所知,最新版本的 Hamcrest (1.2) 引入了与 JUnit 当前所依赖的版本 1.1 不兼容的类型签名。我不确定 Hamcrest 中的更改造成的损害程度(可以这么说),但 JUnit 团队似乎并不急于升级(请参阅 open issue)。

我不完全确定我已经解决了我的问题,但我打算使用 MatcherAssert.assertThat()。这可能需要特定版本的 JUnit(我相信是 junit-dep-xxx),它不会与 Hamcrest 发生类路径冲突。否则,当 assertThat() 调用 describeMismatch() 时,您可能会收到 NoSuchMethodErrors

关于java - 是否有使用 Hamcrest 'describeMismatch' 功能的 JUnit assertThat 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com