我目前正在對一個班級進行單元測驗
class Employee:
"""Class to define an employee"""
def __init__(self, fname, lname, salary):
self.fname = fname
self.lname = lname
self.salary = salary
def give_raise(self, number=5000):
self.salary = number
我正在撰寫測驗來測驗我在類中定義的方法。第一個將通過默認函式引數增加員工工資,第二個自定義
from employee import Employee
import unittest
class TestEmployee(unittest.TestCase):
"""Test the employee class"""
def setUp(self):
"""
Create employees and test the results
"""
self.dave = Employee("dave", "stanton", 20000)
def test_default_raise(self):
self.dave.give_raise()
self.assertEqual(25000, self.dave.salary)
print(self.dave.salary)
def test_custom_raise(self):
self.dave.give_raise(10000)
self.assertEqual(30000, self.dave.salary)
print(self.dave.salary)
if __name__ == '__main__':
unittest.main()
我正在使用 SetUp 函式來實體化員工類的實體。
我的問題是 self.dave.salary 的值是否在每次方法呼叫時重置為基值?
30000
.25000
.
----------------------------------------------------------------------
Ran 2 tests in 0.000s
我希望第二個測驗的值為 35000
uj5u.com熱心網友回復:
從檔案:
“setUp() 和 tearDown() 方法允許您定義將在每個測驗方法之前和之后執行的指令。”
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/365132.html
標籤:Python 单元测试 python-unittest
上一篇:解包集合時記憶體中會發生什么?
