如何设置检查方法内部方法的unittest方法?

时间:2017-09-10 08:05:09

标签: python python-3.x unit-testing python-unittest

我一直在使用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()的功能......

0 个答案:

没有答案