《Python编程:从入门到实践》学习打卡16-测试代码(上)

测试代码

单元测试

验证程序是否按照预期输出

输入只含两个名字的姓名,测试结果

def get_formatted_name(first,last):
    """定义函数,并放在name_formatted.py文件中"""
    full_name = first + ' ' + last
    return full_name.title()
import unittest
from name_formatted import get_formatted_name

class NameTestCase(unittest.TestCase):
    """测试是否按照预期输出姓名"""
    def test_first_last_name(self):
        formatted_name = get_formatted_name('jin','hua')
        self.assertEqual(formatted_name,'Jin Hua')
unittest.main()

如果有的人有三个名字,则应该修改相应程序

def get_formatted_name(first,last,middle = ''):
    """修改name_formatted.py中的函数,包含中间名"""
    if middle:
        full_name = first + ' ' + middle + ' ' + last
       else:
        full_name = first + ' ' + last
    return full_name.title()
import unittest
from name_formatted import get_formatted_name

class TestNameCase(unittest.TestCase):
    """包含两种情况的测试"""
    def test_first_last_name(self):
        formatted_name = get_formatted_name('jin','hua')
        self.assertEqual(formatted_name,'Jin Hua')
    def NameTestCase(self):
    	formatted_name = get_formatted_name('hei','jiang','long')
        self.assertEqual(formatted_name,'Hei Long Jiang')
unittest.main()

如果在测试过程中发现错误,不应该修改测试代码,而应该对函数进行修改

课后习题

11-1城市与国家

def get_city_country(city,country):
    """定义函数,储存在city_functions.py中"""
    full = city + ' ' + country
    return full.title
import unittest
from city_functions import get_city_country

class CityTestCase(unittest.TestCase):
    def test_city_country(self):
        match = get_city_country('santiago','chile')
        self.assertEqual(match,'Santiago Chile')
        
unittest.main()

11-2人口数量

def get_city_country(city,country,population = ''):
    if population:
        full = city.title() + ' ' + country.title() + ' ' + '-' + 'population' + ' ' + str(population)
    else:
        full = city.title() + ' ' + country.title()
    return full
import unittest
from city_functions import get_city_country

class CityTestCase(unittest.TestCase):
    def test_city_country(self):
        match = get_city_country('santiago','chile')
        self.assertEqual(match,'Santiago Chile')

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

unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值