我一直在使用unittest练习我的代码测试技能,而我在我的知识中发现的一个漏洞是如何测试一个方法,该方法调用其中的其他方法,这需要属性。 例如:
def calc_balance(usr_input)
new_balance = total_income() - usr_input
return new_balance
def total_income(value):
return value
我想用unittest测试,例如:如果usr_input = 100,我的total_income()方法返回50,如果new_balance等于50,测试将通过。
我知道如何为calc_balance()编写一个测试,分配usr_inputs值(这很容易),但我不知道如何将值传递给total_income()(在我要编写的unittest方法中)
如果有人可以帮助我,我会很高兴...我没有任何有用的信息......我想我可能需要使用seUp()方法或类似的东西......
编辑:
# main.py
def calc_balance(value):
balance = calc_income() - calc_expance() + value
return balance
def calc_income(list_of_incomes):
return float(sum(list(list_of_incomes)))
def calc_expance(list_of_expances):
return float(sum(list(list_of_expances)))
# test.py
import unittest
import main
class TestMain(unittest.TestCase):
def test_calc_income(self):
self.assertEqual(main.calc_income([1,2]), 3)
def test_calc_expance(self):
self.assertEqual(main.calc_expance([0,0]), 0)
def test_calc_balance():
self.assertEqual(main.calc_balance(1), 4)
如您所见,我希望test_calc_balance()将不同的值传递给calc_balance()并测试calc_balance()的功能......