2017-12-27 6 views
0

Angenommen, ich ein Modul haben, die so etwas wie dies funktioniert:Wie testen Sie Code, der ImportErrors behandelt?

try: 
    from foo import bar 
except ImportError: 
    def bar(): 
     pass 

Wie teste ich die except ImportError Block mit pytest?

+0

@ Mangohero1 das Snippet würde an der Spitze eines Moduls, nicht Teil einer Funktion sein. Es gibt keine Möglichkeit, dass sich der Importfehler in pytest "aufblubbert". –

+0

Darf ich fragen, warum Sie das testen wollen? Nur neugierig. – dvnguyen

+0

Entschuldigung, falsch gelesen. Wäre es nicht genauso? 'Test_' vorsetzen? – Mangohero1

Antwort

0

können Sie das Verhalten von bar zum Erhöhen einer ImportError beim Import in Ihrem Test verhöhnen. Ich würde einen Blick auf this

+0

Ich möchte das Modul nicht verspotten, aber ich möchte Code testen, der einen Importfehler im Modul behandelt. –

+0

Richtig, Sie verspotten den Importanruf, um den Ausnahmefall zu erreichen. – Alex

+0

Wäre es nicht erforderlich, den Testcode im Modul zu platzieren? –