Sinon: stub(obj, 'meth', fn) wurde entfernt, siehe Dokumentation

Erstellt am 2. Apr. 2018  ·  7Kommentare  ·  Quelle: sinonjs/sinon

Wenn ich den folgenden Code verwende, erhalte ich einen Fehler:

let obj = {
    foo: function() {
    }
}
var stub = sinon.stub(obj , "foo", () => {});

stub(obj, 'meth', fn) has been removed, see documentation

Ich überprüfe dann die Dokumentation:

http://sinonjs.org/releases/v2.0.0/stubs/#var -stub--sinonstubobject-method-func

var stub = sinon.stub(Objekt, "Methode", Funktion);

Ersetzt object.method durch eine Funktion, die in einen Spion eingeschlossen ist.

Wie üblich, object.method.restore(); kann verwendet werden, um die ursprüngliche Methode wiederherzustellen.

Ich verwende Sinon 4.3.

Hilfreichster Kommentar

Für diejenigen, die dies bei der Suche nach der Fehlermeldung von Google finden, finden Sie die aktualisierten Dokumente hier: http://sinonjs.org/releases/v5.0.3/stubs/

Es sieht so aus, als ob das neue Formular stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Dies wurde aus v3.0.0 entfernt. Stattdessen sollten Sie verwenden
stub(obj, 'meth').callsFake(fn)
Ein Codemod ist verfügbar , um Ihren Code zu aktualisieren

Alle 7 Kommentare

Vergessen ist, dass Google aus irgendeinem Grund auf die 2.0.0-Dokumentation verweist.

Für diejenigen, die dies bei der Suche nach der Fehlermeldung von Google finden, finden Sie die aktualisierten Dokumente hier: http://sinonjs.org/releases/v5.0.3/stubs/

Es sieht so aus, als ob das neue Formular stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Dies wurde aus v3.0.0 entfernt. Stattdessen sollten Sie verwenden
stub(obj, 'meth').callsFake(fn)
Ein Codemod ist verfügbar , um Ihren Code zu aktualisieren

@mroderick : Es ist bedauerlich, dass Leute aufgrund unserer (?) SEO-Strategie Probleme verursachen, also ist es vielleicht an der Zeit, sich den Vorschlag anzusehen, den ich einmal zur Behebung der veralteten Google-Suchen hatte. Ich könnte damit beginnen, das Problem und eine mögliche Lösung zu beschreiben (wie in unserer Twitter-Diskussion von .. 2016?).

AFAI erinnert sich, dass der vorgeschlagene Fix etwas wie Django tat, das durch kanonische Link-Manipulation auf eine gewisse semantische Korrektheit verzichtet, um SEO zu verbessern, indem Google-Treffer immer auf /latest zeigen. Die Details entgehen mir ATM, aber es war konzeptionell einfach. Es war die Hürde, es nur mit Jekyll zu tun, kann sich AFAI erinnern :-)

Wäre es möglich, oben in alten Versionen ein Banner zu platzieren, das besagt, dass diese Dokumente veraltet sind? Das würde die Suchergebnisse nicht verbessern, ist aber für Besucher zumindest offensichtlicher.

@mantoni Ja, genau eines der Dinge, die in meinem Twitter-Austausch mit Morgan


Übrigens, ich hatte aufgrund einiger SEO-Bedenken zweite Zweifel. Ich denke, wir brauchen einen anderen Ansatz, siehe diese Frage: https://webmasters.stackexchange.com/questions/109113/versioned-pages-making-sure-google-points-to-the-current … was mich zu diesem führte: https ://webmasters.stackexchange.com/questions/99867/how-to-correctly-mark-up-different-versions-of-the-same-document-which-are-non-c

Grundsätzlich denke ich, dass eine große Verbesserung für bessere Google-Treffer darin besteht, das zu tun, was Django in seinen Dokumenten tut: https://webmasters.stackexchange.com/a/101534/11903 - Verwenden Sie rel=canonical, um im Grunde alle außer den neuesten Versionen zu löschen aus dem Index - haben Sie oben eine kleine Warnung, die den Benutzer darauf aufmerksam macht, dass er sich ältere Dokumente ansieht.

Ich denke, dass die Verwendung von Bannern und canonical (oder noindex ) ein guter Anfang wäre.

Letztendlich hätte ich gerne eine bessere Dokumentations-Website.

  • einfacher zu verwalten, einfacher zu beitragen (es wird mit all den Veröffentlichungen unhandlich)
  • mehr Beispiele, grundsätzlich sollte jede Methode/Eigenschaft mindestens ein gutes Anwendungsbeispiel haben
  • Spielplatz

Was heute angeht, komme ich immer noch zu diesem Top-Google-Suchergebnis für stub(obj, 'meth', fn) has been removed, see documentation

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen