我编写了这段代码来检查字符串是否全部大写。如果是,则返回 True,如果不是全部大写,则返回 False。我需要为此解决方案运行单元测试,但我被卡住了。解决方案代码是否有更好或更简单的代码?如何对解决方案进行单元测试?我的尝试正确吗?如果没有,你能帮我吗?我的解决方案代码def is_uppercase(x): words = x.split("_") for word in words: if word == word.upper(): return True else: return Falseis_uppercase("AM dONALD")尝试的单元测试import unittestimport Capss # solution code file nameclass TestCaps(unittest.TestCase): def test_is_uppercase(self): self.assertTrue("FF", msg=True)if __name__ == '__main__': unittest.main()当我运行解决方案代码,传递所有大写或混合大小写的参数时,我得到预期的 True 或 False。但是,当我操作单元测试中的值时,结果是一样的,没有任何变化。有什么帮助吗?
1 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
这里:
def test_is_uppercase(self):
self.assertTrue("FF", msg=True)
您的测试中只有一个断言,但您根本没有调用您声称要测试的实际“被测方法”。
您必须调用该方法,并检查预期结果,例如:
self.assertTrue(is_uppercase("UPPER"))
self.assertFalse(is_uppercase("lower"))
self.assertFalse(is_uppercase("Mixed"))
单元测试的重点是调用您的“生产代码”功能,并检查它们是否提供了预期的结果。
这里没有魔法,unittest 环境无法猜测您是导入的,Capps因为您神奇地想要进行is_uppercase()测试!
添加回答
举报
0/150
提交
取消