我在通过模拟函数编写单元测试用例时卡住了。我在函数内部创建了一个 self 变量,而不是通过 init 方法创建的。当我运行脚本时,它会引发错误。
myFooFile.py:
class Foo(object):
def my_foo(self):
self.MY_LIST = []
self.generate_value()
self.other_function()
def generate_value(self):
some_ops_value = 10
return self.MY_LIST.append(some_ops_value)
我MY_LIST在方法中创建了变量my_foo,而不是通过__init__方法。我正在通过该generate_value方法收集值。当我尝试创建测试generate_value方法时,会引发错误
AttributeError:“Foo”对象没有属性“MY_LIST”。
不知道如何模拟 MY_LIST 并让它工作
下面是我的测试脚本:
import unittest
from unittest import TestCase, mock
from myFooFile import Foo
class FooTest(TestCase):
def setUp(self):
self.foo = Foo()
def test_generate_value(self):
self.assertEqual(self.foo.generate_value(), [10])
unittest.main()