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

class Solution:


    def addNums(self, a, b):

        return a + b


test1 = Solution()   

test1.addNums(5, 6)

以上是我的课!用一个简单的添加方法。


本质上,我想做的是为算法和数据结构/编程面试做准备,在那里我为每个输入创建实例并希望为实例编写单元测试..


这是我在下面尝试过的:


import unittest


class 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.001s


FAILED (errors=1)

An exception has occurred, use %tb to see the full traceback.


SystemExit: True

Solution在这种情况下,我希望能够测试类的实例方法的返回值addNums(self, a, b)


月关宝盒
浏览 267回答 1
1回答

杨魅力

运行以下代码:import unittestclass Solution:    def addNums(self, a, b):        return a + bclass 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.000sOK编辑:以下应该适用于 jupyter。import unittestclass Solution:    def addNums(self, a, b):        return a + bclass 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python