高级编程技术作业第六周 第十一章课后练习

11-1:城市和国家

def cityandcountry(city,country):
    outcome = city + ', '+country
    return outcome.title()
import unittest
from city_functions import cityandcountry

class cityandcountry_test(unittest.TestCase):

    def test_city_conutry(self):
        cac = cityandcountry('santiago', 'chile')
        self.assertEqual(cac, 'Santiago, Chile')

unittest.main()

11-2:人口数量

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

class cityandcountry_test(unittest.TestCase):

    def test_city_conutry(self):
        cac = cityandcountry('santiago', 'chile')
        self.assertEqual(cac, 'Santiago, Chile')

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

unittest.main()


第一次加入population实参后测试失败。


第二次将population设置为可选的后测试成功。


编写第二个测试函数,得到两个成功的测试样例。

11-3:雇员

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 = ''):
        if add:
            self.salary += add
        else:
            self.salary += 5000
import unittest
from employee_fuc import Employee

class Testep(unittest.TestCase):
    def setUp(self):
        first_name = 'Kenny'
        last_name = 'Cheng'
        salary = 10000
        self.myemployee = Employee(first_name, last_name, salary)

    def test_give_default_raise(self):
        self.myemployee.give_raise()
        self.assertEqual(self.myemployee.salary, 15000)

    def test_give_custom_raise(self):
        self.myemployee.give_raise(1000)
        self.assertEqual(self.myemployee.salary, 11000)

unittest.main()

如图,两个测试成功。

猜你喜欢

转载自blog.csdn.net/weixin_38742280/article/details/79938234
今日推荐