我想对__main__
后面的行进行单元测试,但不知道如何模拟它们:
class X:
def y(self):
...
if __name__ == '__main__':
X().y()
我想确切地测试这些线而不是函数本身!
我试过这些例子:
例如:
@mock.patch('module_a.X.y')
def test_y_called_in_main(self, mock_y):
import module_a
mock_y.assert_any_call()
或..
@mock.patch('module_a.X.y')
def test_y_called_in_main(self, mock_y):
imp.load_source('__main__', path_to_X)
mock_y.assert_any_call()