python课程作业——第11章 测试代码

第11章 测试代码

这里写图片描述
这里写图片描述

# 11-1
# city_functions.py
def get_formatted_city_name(city, country):
    """生成规范格式的城市名"""
    return city.title() + ', ' + country.title()


# main.py
import unittest
from city_functions import get_formatted_city_name


class CityNamesTestCase(unittest.TestCase):
    """测试city_functions.py"""

    def test_city_country(self):
        formatted_city_name = get_formatted_city_name('santiago', 'chile')
        self.assertEqual(formatted_city_name, 'Santiago, Chile')


unittest.main()


# 11-2
# city_functions.py
def get_formatted_city_name(city, country, population=None):
    """生成规范格式的城市名"""
    name = city.title() + ', ' + country.title()
    if population:
        name += ' - population ' + str(population)
    return name


# main.py
import unittest
from city_functions import get_formatted_city_name


class CityNamesTestCase(unittest.TestCase):
    """测试city_functions.py"""

    def test_city_country(self):
        formatted_city_name = get_formatted_city_name('santiago', 'chile')
        self.assertEqual(formatted_city_name, 'Santiago, Chile')

    def test_city_country_population(self):
        formatted_city_name = get_formatted_city_name(
            'santiago', 'chile', population=5000000)
        self.assertEqual(formatted_city_name,
                         'Santiago, Chile - population 5000000')


unittest.main()


# 11-3
# employee.py
class Employee():
    """表示职员的类"""

    def __init__(self, first_name, last_name, salary):
        """初始化一个职员,接受名、姓和年薪"""
        self.first_name = first_name
        self.last_name = last_name
        self.salary = salary

    def give_raise(self, add_salary=5000):
        self.salary += add_salary


# main.py
import unittest
from employee import Employee


class TestEmployee(unittest.TestCase):
    """测试employee.py"""

    def setUp(self):
        self.my_employee = Employee("Albert", "Ye", 1000000)

    def test_give_default_raise(self):
        prev = self.my_employee.salary
        self.my_employee.give_raise()
        now = self.my_employee.salary
        self.assertEqual(now, prev + 5000)

    def test_give_custom_raise(self):
        prev = self.my_employee.salary
        self.my_employee.give_raise(1000000)
        now = self.my_employee.salary
        self.assertEqual(now, prev + 1000000)


unittest.main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值