zoukankan      html  css  js  c++  java
  • Python学习笔记之unittest测试类

    11-3 雇员:编写一个名为Employee 的类,其方法__init__()接受名、姓和年薪,并将它们都存储在属性中。编写一个名为give_raise()的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量。
    为Employee 编写一个测试用例,其中包含两个测试方法:test_give_default_raise()和test_give_custom_raise()。使用方法setUp(),以免在每个测试方法中都创建新的雇员实例。运行这个测试用例,确认两个测试都通过了。

    employee.py

    1 class Employee():
    2 
    3     def __init__(self, first_name, last_name, annual_salary):
    4         self.first_name = first_name
    5         self.last_name = last_name
    6         self.annual_salary = annual_salary
    7     
    8     def give_raise(self, annual_salary=5000):
    9         self.annual_salary += annual_salary

    test_employee.py

     1 import unittest
     2 from employee import Employee
     3 
     4 class TestEmployee(unittest.TestCase):
     5 
     6     def setUp(self):
     7         self.eric = Employee('eric', 'wong', 60000)
     8     
     9     def test_give_default_raise(self):
    10         self.eric.give_raise()
    11         self.assertEqual(self.eric.annual_salary, 65000)
    12 
    13     def test_give_custom_raise(self):
    14         self.eric.give_raise(8000)
    15         self.assertEqual(self.eric.annual_salary, 68000)
    16 
    17 unittest.main()

    在Employee类中,只有一个give_raise一个增加年薪的方法,所以在测试类的时候,只针对这个方法来测试即可

    在TestEmployee类中,有一个setUp的方法,用来创建类的实例对象,供下面两个test方法使用,这样在运行test_give_default_raise()和test_give_custom_raise()的时候,直接调用setUp创建的对象即可,不用再自行创建

  • 相关阅读:
    树莓派基于scratch2控制GPIO
    一次修复linux的efi引导的集中方法总结记录
    linux(deepin) 下隐藏firefox标题栏
    log4j 1.2 配置和使用简述
    在非gnome系桌面环境下运行deepin-wine tim的错误解决
    manjaro AwesomeWM 上使用双显示器
    linux 关闭主板上的蜂鸣器声音
    anki的使用以及anki server的配置
    阅读《人类简史》-- 1.认知革命
    java生成zip包兼容Linux
  • 原文地址:https://www.cnblogs.com/rainights/p/11782708.html
Copyright © 2011-2022 走看看