为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 的 unittest 模块测试类的实例方法的返回值

使用 Python 的 unittest 模块测试类的实例方法的返回值

月关宝盒 2021-06-04 15:32:21
class Solution:    def addNums(self, a, b):        return a + btest1 = Solution()   test1.addNums(5, 6)以上是我的课!用一个简单的添加方法。本质上,我想做的是为算法和数据结构/编程面试做准备,在那里我为每个输入创建实例并希望为实例编写单元测试..这是我在下面尝试过的:import unittestclass TestSolution(unittest.TestCase):    def test_addNums(self):        example = Solution()          self.assertEqual(example.addNums(9, 10), 19)if __name__ == '__main__':    unittest.main()不知道如何去做,如果我运行上面的代码,我会收到以下错误消息:----------------------------------------------------------------------AttributeError: module '__main__' has no attribute '/Users/abhishekbabuji/Library/Jupyter/runtime/kernel-eb5f1d39-4880-49a7-9355-bbddc95464ff'----------------------------------------------------------------------Ran 1 test in 0.001sFAILED (errors=1)An exception has occurred, use %tb to see the full traceback.SystemExit: TrueSolution在这种情况下,我希望能够测试类的实例方法的返回值addNums(self, a, b)
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

运行以下代码:


import unittest


class Solution:


    def addNums(self, a, b):

        return a + b



class TestSolution(unittest.TestCase):


    def test_addNums(self):

        example = Solution()  

        self.assertEqual(example.addNums(9, 10), 19)



if __name__ == '__main__':

    unittest.main()

产生


.


----------------------------------------------------------------------

Ran 1 test in 0.000s


OK

编辑:以下应该适用于 jupyter。


import unittest


class Solution:


    def addNums(self, a, b):

        return a + b



class TestSolution(unittest.TestCase):


    def test_addNums(self):

        example = Solution()  

        self.assertEqual(example.addNums(9, 10), 19)



if __name__ == '__main__':

    unittest.main(argv=['ignored', '-v'], exit=False)


查看完整回答
反对 回复 2021-06-15
  • 1 回答
  • 0 关注
  • 266 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号