Затем в вашем тестовом классе вы можете использовать эту функцию следующим образом:
м, у меня есть модуль со следующим:
def main():
pass
if __name__ == "__main__":
main()
Я хочу написать юнит-тест для нижней половины (я хотел бы достичь 100% покрытия). Я обнаружилrunpy встроенный модуль, который выполняет импорт /__name__
механизм, но я не могу понять, как издеваться или иным образом проверить, чтоглавный() функция называется.
Это то, что я пробовал до сих пор:
import runpy
import mock
@mock.patch('foobar.main')
def test_main(self, main):
runpy.run_module('foobar', run_name='__main__')
main.assert_called_once_with()