《Python编程从入门到实践》第十一章 测试代码 知识点及习题

目录

1.知识点

2.练习

11.1 城市和国家

11.2人口数量

11.3雇员


1.知识点

2.练习

11.1 城市和国家
11.2人口数量
def str_country_city(city,country):
    strs = f"{city} {country}"
    return strs
#test.py
from country_city import str_country_city
def test_city_country():
    srtss = str_country_city('santiago','chile')
    assert srtss == 'santiago chile'
def str_country_city(city,country,population):
    strs = f"{city} {country} population={population}"
    return strs

from country_city import str_country_city
def test_city_country():
    srtss = str_country_city('santiago','chile','500000')
    assert srtss == 'santiago chile population=500000'
# 练习:测试类

# survey.py
class AnonymousSurvey:
    """收集匿名调查问卷的答案"""

    def __init__(self,question):
        """储存一个问题并为储存答案做准备"""
        self.question = question
        self.responses = []
    def show_question(self):
        """显示调查问卷"""
        print(self.question)
    def store_response(self,new_response):
        """存储单份调查问卷"""
        self.responses.append(new_response)
    def show_results(self):
        """显示收集到的所有答案"""
        print("survey results:")
        for response in self.responses:
            print(f"-{response}")
# test_survey.py
from survey import AnonymousSurvey

def test_store_single_response():
     """测试单个回答"""
    question = "What language did you first learn to speak"
    language_survey = AnonymousSurvey(question)
    language_survey.store_response('English')
    assert 'English' in language_survey.responses
def test_store_three_response():
     """测试三个回答"""
    question = "What language did you first learn to speak"
    language_survey = AnonymousSurvey(question)
    responses = ['English','Chinese','Spanish']
    for response in responses:
        language_survey.store_response(response)
    for response in responses:
        assert response in language_survey.responses
11.3雇员
class Employee:
    def __init__(self,first,last,pay=10000):
        self.first = first
        self.last = last
        self.pay = pay
    def raise_pay(self,increase=5000):
        self.pay+=increase
        pay1 = self.pay
        return pay1

import pytest
from employee_raisefee import Employee
@pytest.fixture
def employee_raise():
    employee_raise = Employee('ka', 'ka', 10000)
    return employee_raise
def test_employee_pay_raise(employee_raise):
    # pay1 = Employee('ka','ka',10000)
    assert employee_raise.raise_pay(6000) == 16000
def test_employee_default_pay_raise(employee_raise):
    # pay1 = Employee('ka','ka')
    assert employee_raise.raise_pay() == 15000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值