You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

被除数为0时除法打印单元测试失败问题求助

问题排查:除法打印程序单元测试失败原因

咱们直接定位核心问题,你的单元测试不通过的根源很明确:

1. 竖线字符不匹配

你的单元测试预期字符串里用的是全角竖线 (Unicode U+2502),但代码中定义的SYMBOL_VERTICAL_BAR常量是半角竖线 |(ASCII 124)。这两个是完全不同的字符,字符串精确对比时必然会失败。

看你的测试代码片段:

String expected = "_0│100\n" + " 0│-\n" + " -│0\n" + " 0";

drawResultForDividentThatEqualsZero方法里拼接的是SYMBOL_VERTICAL_BAR对应的半角竖线,两者完全无法匹配。

修复方案

统一字符即可,推荐修改测试的预期值(避免改动现有业务代码的常量定义,减少影响范围):

String expected = "_0|100\n" + " 0|-\n" + " -|0\n" + " 0";

2. 额外验证点(可选)

如果修改字符后仍有问题,可以检查换行符是否一致:Java中\n在多数环境下能正常工作,但如果测试运行在Windows平台,部分场景可能需要\r\n。不过从你的代码逻辑来看,这个问题出现的概率极低,优先解决竖线字符的问题即可。

内容的提问来源于stack exchange,提问作者Programmer

火山引擎 最新活动