当前位置: 首页 > 知识库问答 >
问题:

在测试中断言java.util.Date字段

汝彭薄
2023-03-14

目前,我忽略isEqualToComparingFieldByField断言中的这些字段,然后使用hasSameTimeAs方法进行comapre。

assertThat(object).isEqualToIgnoringGivenFields(other, "time");
assertThat(object.getTime()).hasSameTimeAs(other.getTime());

为给定类型(在本例中为java.util.Date)提供isEqualToComparingFieldByField方法的自定义比较器或任何其他解决方案来逐字段断言两个对象是否可以避免这个问题?

共有1个答案

彭畅
2023-03-14

在“field by field”比较中,无法为给定的字段类型指定自定义比较器--我不确定在AssertJ中引入这种比较器是否优雅(但我希望被证明是错误的)。

您可以为您的对象定义一个比较器,并像这样使用它:

assertThat(frodo).usingComparator(raceNameComparator).isEqualTo(pippin);

有关完整的工作示例,请参见assertj-examples项目。

 类似资料:
  • 下面是TestNG框架中的一个示例断言方法。 下面是fail方法。 在TestNG中是否有一个内置的方法来执行软断言。如果没有,实现这一点的理想方式是什么。

  • 当我尝试执行一个新的单元测试用例时,它会显示以下错误。 注意:我没有特权设置路径,因为我已经将chrome web驱动程序放在D驱动器中。 测试在14:56开始。。。C:\Users\xxx.xxxx\PyCharm项目\Automation\venv\Scripts\python.exe“C:\Users\xx.xxx\AppData\Local\JetBrains\PyCharm社区版2019

  • 问题内容: 假设我在Python单元测试中具有以下代码: 有没有一种简单的方法可以断言在测试的第二行期间调用了特定方法(在我的情况下)?例如是否有这样的事情: 问题答案: 我为此使用Mock(在py3.3 +上现在是unittest.mock): 对于您的情况,它可能看起来像这样: Mock支持许多有用的功能,包括修补对象或模块的方式以及检查是否调用了正确的东西等。 买者自负! (请当心!) 如果

  • 玩弄Mockito来实现我的服务的单元测试,但由于某种原因,我无法通过我的厚脑袋来实现这一点。我的考试通过了,但我不能确信我做得对。 下面是一个测试count()方法的示例。该方法只是将调用转发到它的存储库,我不想验证仅此而已,没有其他事情发生。这就是我得到的: 我的考试及格了,但我有一些问题。 > 我需要验证吗?我觉得我这样做是因为我想验证personRepository。实际上调用了count

  • 我用的是3.4.0版 我对YUI有一个奇怪的问题。测试断言。下面是一个示例: 当断言在事件的回调中时,它永远不会失败:(文档中没有提到这种情况... 也许我做错了什么,但是缺少文档很难确定... 更新 没有等待/恢复的示例:http://jsfiddle.net/op1ekun/Fgra6/2/ 和具有等待/恢复 http://jsfiddle.net/op1ekun/Fgra6/5/ 更新2 已

  • 我目前在一个项目中使用TestNG启动Selenium测试套件,并处理maven项目中所有结果的日志记录,该项目在Jenkins的工作中每晚运行。 当前,当一个测试失败了一个断言时,TestNG会杀死我们正在运行的所有东西,它不仅会使当前测试失败,还会继续运行套件中的其他测试。我不明白为什么TestNG不只是使当前的测试失败,然后启动剩余的尚未运行的测试。这使得TestNG在这一点上成为一个无用的