2016-12-23 4 views
8

Ich arbeite an einer Präsentation über Python-Test-Optionen, und eine der Technologien, die ich möchte Demo ist Pytest. Ich plane, die Präsentation von einem jupyter/ipython Notizbuch zu machen. Idealerweise möchte ich in der Lage sein, eine Testfunktion in einer Zelle zu definieren und dann pytest zu verwenden, um genau diese Funktion auszuführen; auf diese Weise kann ich einzelne Funktionen von Pytest, etc. zeigen.Running pytest Testfunktionen in einem Jupiter-Notebook

Gibt es einen bestehenden Weg, dies zu tun? Keine der interaktiven Funktionen, die ich in der pytest API gesehen habe, scheint die Rechnung zu tragen, aber ich bin sicherlich kein pythischer Experte. Ich würde gerne ein Plugin dafür schreiben, also wäre jeder Ratschlag für den besten Ansatz in dieser Richtung großartig.

Ich habe Pytest-ipynb gesehen, aber es scheint nicht zu tun, was ich brauche. Wenn diese Einschätzung falsch ist, wäre auch ein Rat, wie man das benutzt, großartig.

+0

Nur um die Daten hier hinzuzufügen, aber nicht tatsächlich die Frage zu beantworten, gibt es https://github.com/computationalmodelling/nbval –

Antwort

7

Ich habe ipython_pytest für diesen Zweck erstellt und in my PyCon Helsinki 2016 presentation verwendet.

Sie würden das Tool wie folgt verwenden:

%%pytest 

def test_my_stuff(): 
    assert 42 == 42 

Leider finde ich konnte keinen Weg Funktionen und Klassen im Notebook zur Verfügung Testfunktionen in der Testzelle definiert zu machen. Ich würde mich freuen, wenn jemand eine Lösung dafür finden würde.

+0

Das sieht perfekt aus! Das ist es, was ich bekomme, wenn ich nicht zur Konferenz komme. – abingham

+0

Großartig! Warum nicht meine Antwort so gut wie angenommen markieren :) – akaihola

+0

Hoppla, sorry, dachte ich hatte. – abingham

Verwandte Themen