[PYTHON] Ich möchte einen Mox-Generator (2)

Dies ist eine Fortsetzung dessen, was ich das letzte Mal geschrieben habe Ich möchte einen Mox-Generator.

Immerhin wollte ich einen Rückgabewert, also fügte ich "ret =" hinzu. Übrigens, wenn Sie es wiederholt aufrufen, tritt ein Fehler auf, daher überprüfe ich die Instanz, um dies zu verhindern, aber das ist nicht klug ...

mox_generator.py


    def stub(self, stub_class, stub_method, num_args, ret=None):
        stubbed = getattr(stub_class, stub_method)
        if not isinstance(stubbed, mox.MockAnything) and not isinstance(stubbed, mox.MockObject):
            self.mox.StubOutWithMock(stub_class, stub_method)
            stubbed = getattr(stub_class, stub_method)
        args = tuple([mox.IgnoreArg() for i in range(num_args)])
        stubbed(*args).AndReturn(ret)

Auch ein seriöser (anständiger) Testschreiber würde die Argumente überprüfen.

mox_generator.py


    def stub_with_args(self, stub_class, stub_method, num_args,
                        *args, **kwds):
        if kwds.has_key('ret'):
            ret = kwds.pop('ret')
        else:
            ret = None

        stubbed = getattr(stub_class, stub_method)
        if not isinstance(stubbed, mox.MockAnything) and not isinstance(stubbed, mox.MockObject):
            self.mox.StubOutWithMock(stub_class, stub_method)
            stubbed = getattr(stub_class, stub_method)

        stubbed = getattr(stub_class, stub_method)
        stub_args = tuple(map(self.stub_arg, args))
        stub_kwds = {}
        for key in kwds.keys():
            stub_kwds[key] = self.stub_arg(kwds[key])
        stubbed(*stub_args, **stub_kwds).AndReturn(ret)

    def stub_arg(self, arg):
        if arg is None:
            return mox.IgnoreArg()
        elif type(arg) == type(MoxGenerator):
            return mox.IsA(arg)
        else:
            return arg

Ich weiß nicht, wie man "Typ" vergleicht. Nun, vorerst. Als nächstes möchte ich so etwas wie `` `repeat_stub``` machen.

Recommended Posts

Ich möchte einen Mox-Generator
Ich möchte einen Mox-Generator (2)
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte in der Einschlussnotation drucken
Ich möchte eine Python-Umgebung erstellen
Ich habe einen Hanko-Generator mit GAN gemacht
Ich möchte Matplotlib zu einem dunklen Thema machen
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte einen DataFrame in MSSQL einfügen
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich möchte keinen Codierungstest machen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich möchte leicht einen leckeren Laden finden
Ich möchte mit Python in eine Datei schreiben
Ich möchte eine Django-App auf Heroku hochladen
Ich habe einen sqlite3.OperationalError
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte, dass DQN Puniki einen Homerun macht
100 Klopfen bei der Bildverarbeitung !! (021-030) Ich möchte eine Pause machen ...
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte mit verstärkendem Lernen einen Berg besteigen
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte ein beliebtes Paket auf PyPi finden
Ich möchte eine Datei mit Python zufällig testen
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Ich möchte eine Zeichenkette mit Hiragana teilen
Ich möchte ein Paket von Php Redis installieren
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich möchte automatisch eine Unternehmensgründungs-E-Mail senden
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte eine lokale Variable mit Lambda binden
Ich möchte eine Jupyter-Umgebung mit einem Befehl starten
[Python] Ich möchte einen gemeinsamen Satz zwischen numpy erhalten
Ich möchte viele Prozesse von Python aus starten
Ich möchte ein Klickmakro mit pyautogui (Wunsch) erstellen.
Ich möchte automatisch einen modernen Metal-Bandnamen generieren
Ich möchte SUDOKU lösen
Ich möchte ein Klickmakro mit pyautogui (Outlook) erstellen.
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!
Ich möchte das Paket aus den Anforderungen.txt mit Poesie installieren
Ich möchte eine Nachricht von Python an LINE Bot senden
Ich habe einen Python-Text gemacht
Ich habe einen Zwietrachtbot gemacht
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich habe einen neuronalen Netzwerkgenerator erstellt, der auf FPGA läuft
Ich möchte vorerst eine Docker-Datei erstellen.
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
MacBookPro-Setup Schließlich möchte ich eine Neuinstallation durchführen
Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen
Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Holz kratzen und essen - ich möchte ein gutes Restaurant finden! ~ (Arbeit)
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich möchte eine Pipfile erstellen und im Docker wiedergeben