Como testar ou simular o conteúdo “se __name__ == '__main__'”
Digo que tenho um módulo com o seguinte:
def main():
pass
if __name__ == "__main__":
main()
Quero escrever um teste de unidade para a metade inferior (gostaria de obter 100% de cobertura). Eu descobri o runpy módulo interno que executa a importação /__name__
ecanismo de configuração @, mas não consigo descobrir como zombar ou verificar se oa Principal( função @ é chamada.
Isto é o que eu tentei até agora:
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()