unittest.Testcase : https://docs.python.org/zh-cn/3/library/unittest.html
测试样例, 文档

函数名需要 “test” 开头,才能被应用

Ran 0 tests in 0.000s 这个测试样例 没有 被应用

  1. import unittest
  2. class test_myClass(unittest.TestCase):
  3. # def testgetNameEmpty(self): ## 函数名需要 “test” 开头,才能被应用
  4. def getNameEmpty(self):
  5. self.assertEqual("love","peace")
  6. # self.assertEqual("love","love")
  7. if __name__ == "__main__":
  8. unittest.main()
  9. daiyi:daiyi$ python ./daiyi-b.py
  10. ----------------------------------------------------------------------
  11. Ran 0 tests in 0.000s
  12. OK

函数名需要 “test” 开头
Ran 1 tests in 0.000s 有一个测试样例被应用

import unittest

class test_myClass(unittest.TestCase):
    def testgetNameEmpty(self): ## 函数名需要 “test” 开头,才能被应用
    # def getNameEmpty(self):
        self.assertEqual("love","peace")
        # self.assertEqual("love","love")

if __name__ == "__main__":
    unittest.main()

daiyi:daiyi$ python ./daiyi-b.py 

F
======================================================================
FAIL: testgetNameEmpty (__main__.test_myClass)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./daiyi-b.py", line 9, in testgetNameEmpty
    self.assertEqual("love","peace")
AssertionError: 'love' != 'peace'

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

python2 assertRaises 需要封装下

参考文章

import unittest

def func():
    raise Exception('lets see if this works')

class ExampleTest(unittest.TestCase):
    def test_error(self):
        # self.assertRaises(Exception,func())  ## 这个没有封装, assertRaise 不能抓取到这个 异常。
        # self.assertRaises(Exception,lambda:func())  ## lambda 封装后,能抓取到
        # with self.assertRaises(Exception): ## 封装后, 能抓取到
        #     func()

if __name__=='__main__':
    unittest.main()