Python字符串反转功能单元测试运行失败问题求助
代码问题说明及修复方案
- 核心错误1:
back_it_up函数返回值不符合测试预期。当前函数返回的是布尔值(反转正确性校验结果),但测试代码是将函数返回值与反转后的字符串做等值判断,类型、值均不匹配,导致所有测试用例判定失败。 - 核心错误2:函数未做空字符串分支处理,传入空字符串时不会返回"Empty String",对应测试用例必然失败。
修复后代码
def back_it_up(any_word): # 优先处理空字符串特殊场景 if not any_word: return "Empty String" reverse = any_word[::-1] print(any_word) print(reverse) # 执行反转正确性校验 test = reverse[::-1] # 校验通过返回反转后的字符串,匹配测试判断逻辑 if any_word == test: return reverse else: # 校验失败返回空,测试会判定为不通过 return None def test_back_it_up(): print("") print("Back It Up Unit Test...") print("") if back_it_up("book") == "koob": print("TEST PASSED") else: print("TEST FAILED") if back_it_up("college") == "egelloc": print("TEST PASSED") else: print("TEST FAILED") if back_it_up("dog") == "god": print("TEST PASSED") else: print("TEST FAILED") if back_it_up("code") == "edoc": print("TEST PASSED") else: print("TEST FAILED") if back_it_up("") == "Empty String": print("TEST PASSED") else: print("TEST FAILED")
修复后执行test_back_it_up(),所有测试用例都会输出TEST PASSED。
内容的提问来源于stack exchange,提问作者fiennesharris
相关产品推荐
相关产品推荐

