【问题标题】:How to negate assertions with google truth如何用谷歌真相否定断言
【发布时间】:2019-04-15 11:55:22
【问题描述】:

如果是有序的,可以测试一个整数列表:

assertThat(list).isOrdered();

但是如何测试它不是有序的呢?

有没有办法写:

assertThat(list).not().isOrdered();

或者更一般地说,有没有一种方法可以方便地用真理否定断言?

【问题讨论】:

  • 你想用这种方式测试什么?列表可能会意外排序(特别是如果它只包含很少的元素),这会给您带来不稳定的测试

标签: google-truth


【解决方案1】:

抱歉,我们一般没有办法执行否定断言。相反,当我们看到需求时,我们会提供一次性方法,例如 doesNotContain

部分原因是在“失败”路径中运行的代码相当昂贵,因此经常运行它的用户(对于许多成功的测试)可能会遇到不愉快的意外。另一个原因是失败消息是在考虑“积极”情况的情况下编写的。出于这些原因,我的猜测是我们不会提供此服务,但请随时联系file a feature request -- 或专门为isNotOrdered() 提交一份。我认为我们还没有看到对此的请求,因此您可以提供有关您的用例的任何信息都会有所帮助。 (特别是,我们习惯于看到不承诺以任何特定顺序返回数据的 API,但我们不习惯看到承诺返回数据的 API乱序 :) )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多