我正在尝试调试cumber测试,以找出失败的原因:
org.unit.ComparisonFailure:预期:<00[a3b5]>,但是是:<00[0000]>
这是代码的失败部分
String actualColor2 = String.format("#%02x%02x%02x", hexValue1, hexValue2, hexValue3);
Assert.assertEquals("#00a3b5", String.format("#%02x%02x%02x", hexValue1, hexValue2, hexValue3));
在调试模式下,我可以看到所有值,actualColor2是#00a3b5,但如果我运行测试,它在这一行失败,就像actualColor2是#000000
尝试重建项目,重新启动计算机等
字符串值看起来不错
这可能是因为测试字符串等于的方式。也许你应该试试之类的东西
Assert.assertTrue('expected matches actual', expected.equals(actual));
不确定语法是否准确,但应该可以。因为我记得在某个地方读到assertEquals在比较两个字符串时可能不是100%准确。如果我错了,请纠正我