Unittest eines HTTP-Handlers, der mehrere Dateistreams zurückgibt
In diesem Artikel stellt der PHP-Editor Strawberry vor, wie man einen HTTP-Handler testet, der mehrere Dateistreams zurückgibt. Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen mehrere Dateiströme zurückgegeben werden müssen, z. B. Bildkomprimierung, Dateizusammenführung usw. Allerdings ist Unit-Test in diesem Fall nicht so einfach zu implementieren. In diesem Artikel erfahren Sie, wie Sie mit den entsprechenden Tools und Techniken effektive Komponententests schreiben, um sicherzustellen, dass unsere HTTP-Handler mehrere Dateiströme korrekt zurückgeben.
Frageninhalt
http-Handler
Ich habe einen HTTP-Handler wie diesen:
func routehandler(c echo.context) error { outs := make([]io.reader, 5) for i := range outs { outs[i] = // ... comes from a logic. } return c.stream(http.statusok, "application/binary", io.multireader(outs...)) }
Einheitentests
Ich habe vor, einen Unit-Test für einen http-Handler zu schreiben und den Rückgabestrom für mehrere Dateien zu untersuchen.
Meine Unit-Tests haben diese Hilfstypen und -funktionen:
type handler func(echo.context) error // send request to a handler. get back response body. func send(req *http.request, handler handler) ([]byte, error) { w := httptest.newrecorder() e := echo.new() c := e.newcontext(req, w) // call the handler. err := handler(c) if err != nil { return nil, err } res := w.result() defer res.body.close() return ioutil.readall(res.body) }
Ich sende dann eine Anfrage an den http-Handler meines Unit-Tests mit den oben genannten Typen und Funktionen:
// From within my unit test: // Initialize request... var data []byte data, err := Send(request, RouteHandler) // How to separate the multiple files returned here? // How to work with the returned data?
Verarbeiten Sie den zurückgegebenen Dateistream
Wie trenne ich mehrere vom HTTP-Handler zurückgegebene Dateien? Wie verwende ich den vom HTTP-Handler zurückgegebenen Datenstrom?
Workaround
...Mögliche Optionen: Schreiblänge gefolgt vom Dateiinhalt...
Tatsächlich ist die oben von @CeriseLimón kommentierte Option bereits implementiert und wird vom Frontend verwendet.
Das obige ist der detaillierte Inhalt vonUnittest eines HTTP-Handlers, der mehrere Dateistreams zurückgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Das Laternenfest steht vor der Tür. Ace Racing hat speziell für alle eine Rätselrate-Aktivität vorbereitet. Wenn Sie die Rätsel erraten und 6 Fragen richtig beantworten, können Sie eine Goldmünzen-Belohnung erhalten können auch großzügige Belohnungen erhalten. Spezifische Details Werfen wir einen Blick auf die Details dieser Veranstaltung. Ist Ace Racing Post-Holiday-Syndrom: Die wirklich erfahrenen Fahrer haben bereits begonnen, sich auf das Laternenfest vorzubereiten. Hallo, liebe Fahrer, sie alle sagen, dass das Frühlingsfest erst nach dem Laternenfest zu Ende ist. Essen Sie Klebreisbällchen und zünden Sie ein Feuerwerk ... das Festival of Speed ist überall. In der festlichen und lebhaften Atmosphäre des Festivals hat Xili auch einige interessante Laternenrätsel vorbereitet, die „nur wirklich erfahrene Fahrer“ für jedermann zugänglich sind Machen Sie sich im Voraus warm. Lassen Sie uns gemeinsam raten. (PS: Fahrer können zum heutigen öffentlichen Account-Tweet gehen, um die Antwort zu sehen!) Wie wäre es, Fahrer?

Einklappen Star Railroad Wohin gehst du? Mikhail-Erfolgsführer. Mit dem Update auf Version 2.2 von Honkai Dome Railway können viele neue Inhalte im Spiel erlebt werden. Ich glaube, dass viele Freunde beim Abschluss des Erfolgs „Wohin gehst du, Mikhail?“ auf einige Schwierigkeiten gestoßen sind Ich weiß nicht, wie ich es abschließen soll, deshalb werde ich Sie heute durch den detaillierten Prozess führen. Leitfaden zur eingestürzten Star Railroad Wohin gehst du? Mikhail 1. Als wir die Fähigkeiten der Tongtun-Pioniere übernahmen und die Krise in Sinoconni lösten, beruhigte sich alles und wir kehrten zum Gipfel des Flowing Dream Reef zurück das Bild unten; 2. Nachdem Sie es erreicht haben, schauen Sie sich Mikhail noch einmal an und untersuchen Sie den Balkon vor ihm. 3. Nachdem Sie die Untersuchung abgeschlossen haben, können Sie den Erfolg Mikhail erhalten

Der Artikel, der Ihnen heute präsentiert wird, handelt von der QQ-Mailbox-Software. Wissen Sie, wie Sie eine QQ-Backup-Mailbox mit QQ-Mailbox beantragen? . Nachdem Sie sich bei Ihrem QQ-Postfach angemeldet haben, können Sie auf der Startseite Ihres Postfachs nach einem Symbol mit einem Dreieckslogo suchen. Wenn Sie das Symbol nicht finden können, können Sie detaillierte Anmerkungen zum Bild anzeigen, um das Auffinden zu erleichtern. Nachdem Sie es gefunden haben, klicken Sie auf das 3-Eck-Logo und dann auf die Schaltfläche „Backup-E-Mail beantragen“. Nach dem Klicken klicken wir auf die Schaltfläche „E-Mail-Konto“ in der oberen rechten Ecke der gerade erschienenen Seite. Nach dem Klicken geben wir den neuen Registrierungs-E-Mail-Namen, das Passwort, die Mobiltelefonnummer und andere Vorgänge ein und klicken dann auf die Registrierungsschaltfläche. Nachdem die Registrierung abgeschlossen ist, kehren wir gerade zur E-Mail-Seite zurück und klicken auf das gerade aufgetauchte Feld, um die Kontonummer einzugeben.

ELON 在 2023 年达到 0.0000005196 美元的峰值,此后一直在下跌。我们的 Dogelon Mars 价格预测估计到 2024 年底的价格为 $0.0000001409。根据我们 2025 年 Dogelon Mars 的价格预测,ELON 的交易价格为 0.0000004709 美元。

Mit der Popularität von Douyin nehmen auch die Probleme, mit denen Benutzer häufig konfrontiert sind, allmählich zu. Am besorgniserregendsten ist das Problem der Verkehrsbeschränkung von Douyin. Die Verkehrsbeschränkung von Douyin kann zu einer erheblichen Verringerung der Anzahl der Aufrufe, Likes und Kommentare zu den Videos der Nutzer führen und sich dadurch auf das Einkommen und die Bekanntheitsmöglichkeiten der Nutzer auswirken. 1. Wie kann das Verkehrslimit von Douyin gelöst werden? 1. Verbessern Sie die Qualität der Inhalte. Die zentrale Wettbewerbsfähigkeit von Douyin liegt im Inhalt. Nur qualitativ hochwertige Inhalte können mehr Benutzer anziehen. Daher ist die Verbesserung der Inhaltsqualität der Schlüssel zur Lösung des aktuellen Einschränkungsproblems von Douyin. Schöpfer müssen sich auf Content-Innovation konzentrieren, Benutzer mit einzigartigen Perspektiven und Kreativität anlocken und gleichzeitig sicherstellen, dass die Inhalte interessant, lehrreich und praktisch sind. Nur so kann die User Experience kontinuierlich verbessert und die User Stickiness erhöht werden. 2. Passen Sie die Veröffentlichungszeit an. Die Verkehrsverteilung von Douyin hat ein Zeitmuster.

Am 18. März startete das von Beijing Ledong Zhuoyue unabhängig entwickelte und von Tencent vertriebene interaktive Dual-End-Handyspiel „Taris World“ seinen letzten Test am Vorabend. Es ist eine kleine Hommage an die Klassiker und ich glaube, dass Spieler, die MMO-Spiele mögen, wieder eine neue Welt finden können. Wenn man sich an die Tests im Ausland im November letzten Jahres erinnert, zog die extrem hohe Spielqualität eine große Anzahl ausländischer Spieler und viele große MMORPG-Moderatoren an, sich zum Spielen anzumelden, nachdem der letzte Test am Vorabend des nationalen Servers um 10 Uhr gestartet wurde. Am 18. März strömten zahlreiche Spieler zum Spiel. Auch wenn sich einige Spieler nicht für den Test qualifizierten, standen innerhalb weniger Minuten Zehntausende Menschen an Man kann sagen, dass der letzte Test am Vorabend des Nationalservers noch größer ist. (Bildquelle stammt aus dem Internet) Da „

Wenn ich den mobilen Steam-Token verwende, stelle ich fest, dass der Token verschwunden ist. Was soll ich tun? Wenn kein Token vorhanden ist, kann die Sicherheitsüberprüfung des Steam-Kontos nicht durchgeführt werden. Wie können wir den mobilen Steam-Token abrufen? Im folgenden Editor erfahren Sie, wie Sie einen verlorenen mobilen Steam-Token beantragen können. Das Einspruchs-Tutorial lautet wie folgt: 1. Rufen Sie die Steam-Kundendienstseite Steam-Kundendienst auf und wählen Sie die Option im roten Feld aus. 2. Wählen Sie den entsprechenden Inhalt entsprechend Ihrer eigenen Situation aus. Wenn Ihr Konto gestohlen wurde oder Ihr Passwort verloren gegangen ist, wählen Sie in der Regel die Option im ersten roten Feld aus. 3. Wählen Sie die Option im roten Feld aus. 4. Geben Sie Ihren Kontonamen (Anmelde-ID, kein persönlicher Spitzname), Ihre gebundene E-Mail-Adresse oder gebundene Mobiltelefonnummer ein und klicken Sie dann auf

1. Öffnen Sie die WeChat-App, suchen Sie die Übertragungsnachricht, die zurückgegeben werden muss, und klicken Sie zur Eingabe. 2. Suchen Sie in der Benutzeroberfläche mit den Übertragungsdetails nach der Option [Zurück] und klicken Sie darauf. 3. Klicken Sie im Popup-Fenster auf die Schaltfläche [Zurückgeben], um das überwiesene Geld zurückzuerstatten.
