学习测试类的使用
11-1 城市与国家
def city_country(city, country): return city.title() + ", " + country.title() import unittest from city import city_country class CityTestCase(unittest.TestCase): def test_city_country(self): name = city_country('guangzhou', 'china') self.assertEqual(name, 'Guangzhou, China') unittest.main()
11-2 人口数量
当代码刚修改过时:
代码正确修改后(学会了换行……):
def city_country(city, country, population = 0): if population: return city.title() + ", " + country.title() + \ ' - population ' + str(population) else: return city.title() + ", " + country.title() import unittest from city import city_country class CityTestCase(unittest.TestCase): def test_city_country(self): name = city_country('guangzhou', 'china') self.assertEqual(name, 'Guangzhou, China') def test_city_country_population(self): name = city_country('guangzhou', 'china', 5000000) self.assertEqual(name, 'Guangzhou, China - population 5000000') unittest.main()
11-3 雇员
学习setUp()
class Employee(): def __init__(self, first_name, last_name, money): self.first_name = first_name self.last_name = last_name self.money = money def give_raise(self, raise_money = 5000): self.money += raise_money import unittest from employee import Employee class EmployeeTestCase(unittest.TestCase): def setUp(self): self.employee = Employee('Alice', 'Arlert', 50000) def test_give_raise_default(self): self.employee.give_raise() self.assertEqual(self.employee.money, 55000) def test_give_raise_custom(self): self.employee.give_raise(1) self.assertEqual(self.employee.money, 50001) unittest.main()