Я хотел бы обеспечить с тестами, которые: - приложение может не быть импортированы - приложение может быть запущен в качестве реального приложения (например: питон src.py)Дразнящий __main__
Я заинтересован о том, что , почему следующее не работает:
src.py
class A:
def x(self):
print('this is x')
if __name__ == '__main__':
A().x()
test.py (фрагмент)
class Test(unittest.TestCase):
@mock.patch('src.A.x')
def test_main(self, mock_x):
import src
mock_x.assert_any_call()
Этот тест не подходит ... почему?
что не гарантирует, что основной() вызывается только тогда, когда приложение вызывается как скрипт (Python src.py) – vpas
Вы правильно. Вы также можете убедиться, что он * не * вызывается перед вызовом 'main()' –
, как вы это понимаете? – vpas