python---unittest用法

版权声明:作者:小白 https://blog.csdn.net/weixin_43687366/article/details/88734223

python--unittest用法

下面是unittest模块的常用方法:

assertEqual(a, b)     a == b      

assertNotEqual(a, b)     a != b      

assertTrue(x)     bool(x) is True      

assertFalse(x)     bool(x) is False      

assertIs(a, b)     a is b     2.7

assertIsNot(a, b)     a is not b     2.7

assertIsNone(x)     x is None     2.7

assertIsNotNone(x)     x is not None     2.7

assertIn(a, b)     a in b     2.7

assertNotIn(a, b)     a not in b     2.7

assertIsInstance(a, b)     isinstance(a, b)     2.7

assertNotIsInstance(a, b)     not isinstance(a, b)     2.7

assertAlmostEqual(a, b)     round(a-b, 7) == 0      

assertNotAlmostEqual(a, b)     round(a-b, 7) != 0      

assertGreater(a, b)     a > b     2.7

assertGreaterEqual(a, b)     a >= b     2.7

assertLess(a, b)     a < b     2.7

assertLessEqual(a, b)     a <= b     2.7

assertRegexpMatches(s, re)     regex.search(s)     2.7

assertNotRegexpMatches(s, re)     not regex.search(s)     2.7

assertItemsEqual(a, b)     sorted(a) == sorted(b) and works with unhashable objs     2.7

assertDictContainsSubset(a, b)     all the key/value pairs in a exist in b     2.7

assertMultiLineEqual(a, b)     strings     2.7

assertSequenceEqual(a, b)     sequences     2.7

assertListEqual(a, b)     lists     2.7

assertTupleEqual(a, b)     tuples     2.7

assertSetEqual(a, b)     sets or frozensets     2.7

assertDictEqual(a, b)     dicts     2.7

assertMultiLineEqual(a, b)     strings     2.7

assertSequenceEqual(a, b)     sequences     2.7

assertListEqual(a, b)     lists     2.7

assertTupleEqual(a, b)     tuples     2.7

assertSetEqual(a, b)     sets or frozensets     2.7

assertDictEqual(a, b)     dicts     2.7

要为函数编写测试用例,可先导入模块unittest以及要测试的函数,再创建一个继承unittest.TestCase的类,并编写一系列方法对函数行为的不同方面进行测试。我们使用了unittest类最有用的功能之一:一个断言方法。断言方法用来核实得到 的结果是否与期望的结果一致下面就是一个小例子!

练习:

11-1 城市和国家:编写一个函数,它接受两个形参:一个城市名和一个国家名。这 个函数返回一个格式为 City, Country 的字符串,如 Santiago, Chile。将这个函数存储 在一个名为 city _functions.py的模块中。 创建一个名为 test_cities.py的程序,对刚编写的函数进行测试(别忘了,你需要导 入模块 unittest 以及要测试的函数)。编写一个名为 test_city_country()的方法,核实使用类似于'santiago'和'chile'这样的值来调用前述函数时,得到的字符串是正确的。 运行 test_cities.py,确认测试 test_city_country()通过了。 

#city_functions.py
# _*_ coding:utf-8 _*_
def city_functions(City,Country):
	full_city_name = City+" "+Country
	return full_city_name

#test_city_functions.py
import unittest
from city_functions import city_functions

class CityTestCase(unittest.TestCase):
	def test_city_country(self):
		formatted_name = city_functions('santiago','chile')
		self.assertEqual(formatted_name,'santiago chile')
unittest.main()

输出结果:第1行的句点表明有一个测试通过了。接下来的一行指出Python运行了一个测试,消耗的时 间不到0.001秒。最后的OK表明该测试用例中的所有单元测试都通过了。 

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

OK

猜你喜欢

转载自blog.csdn.net/weixin_43687366/article/details/88734223