【问题标题】:Misleading XCTAssertEqual With Accuracy macro wording or a bug?使用 Accuracy 宏措辞或错误来误导 XCTAssertEqual?
【发布时间】:2020-07-08 23:29:36
【问题描述】:

这段代码

XCTAssertEqual(1, 1.1, accuracy: 0.1)

评估为失败的测试并显示消息

XCTAssertEqualWithAccuracy 失败:("1.0") 不等于 ("1.1") +/- ("0.1")

我期待这个测试评估为 1.1 等于 1 并且测试通过绿色。 我期待这个测试评估为 1.1000000001 不等于 1 并且测试通过红色。

这是错误还是预期行为?

如果行为正确,你能解释一下原因吗?

【问题讨论】:

标签: ios xctest


【解决方案1】:

差异应该小于准确度

        XCTAssertEqual(1, 1.1, accuracy: 0.11)

【讨论】:

  • 对你来说,方法的名称有误导性还是方法行为错误?
  • 我认为这不是错误,也不是行为错误,我检查了其他语言,但在这种情况下我认为错误消息是错误的。就这样
  • 浮点数与所写的不完全一致。 0.1 不完全是这样。编写一个小测试并打印或记录所有数字 - 可能会在小数点后 10 位看到更高的值。
猜你喜欢
  • 2021-07-13
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 2015-07-30
  • 2020-02-17
  • 1970-01-01
  • 2023-04-05
  • 2019-11-02
相关资源
最近更新 更多