我在单独的包中有两个类,其中一个继承自另一个。我想测试孩子班。
那么如何模拟父类中使用的外部对象呢? 我很困惑他们目前居住在哪个命名空间。
答案 0 :(得分:1)
class A:
def foo(self):
# Make some network call or something
class B(A):
def bar(self):
self.foo()
...
class BTestCase(TestCase):
def setUp(self):
self.unit = B()
def test_bar(self):
with mock.patch.object(self.unit, 'foo') as mock_foo:
mock_foo.return_value = ...
result = self.unit.bar()
self.assertTrue(mock_foo.called)
...
答案 1 :(得分:0)
要模拟在父模块中导入和使用的任何内容,您需要在父模块中模拟它。
A / a.py
var rand = myArray[~~(Math.random() * myArray.length)];
B / b.py
Math.Floor()
在你的unittest中
var number = Math.floor(14444323231.2); // => 14444323231
var number = 14444323231.2 | 0; // => 1559421343