学习测试类的使用
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()
![](https://i-blog.csdnimg.cn/blog_migrate/a9482de5faa9bc1308125b9fe633d596.png)