使用 Python 的单元测试模块测试来自 class 实例方法的 return 值
Using Python's unittest module to test return values from instance methods of a class
class Solution:
def addNums(self, a, b):
return a + b
test1 = Solution()
test1.addNums(5, 6)
以上是我的class!使用简单的添加方法。
本质上,我想做的是准备算法和数据Structures/Programming面试,我为每个输入创建实例并想为实例编写单元测试..
下面是我试过的方法:
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
class 的实例方法的 return 值,在本例中为 addNums(self, a, b)
运行以下代码:
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)
class Solution:
def addNums(self, a, b):
return a + b
test1 = Solution()
test1.addNums(5, 6)
以上是我的class!使用简单的添加方法。
本质上,我想做的是准备算法和数据Structures/Programming面试,我为每个输入创建实例并想为实例编写单元测试..
下面是我试过的方法:
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
class 的实例方法的 return 值,在本例中为 addNums(self, a, b)
运行以下代码:
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)