In dem vorherigen Artikel "Testen Sie die vorläufige URL in Laravel -Speicher", diskutierten wir die Technik von zwei Methoden zum Testen von Laravel. Obwohl es nicht unterstützt, zeigen wir, wie Simulation verwendet wird, um sein Verhalten effektiv zu simulieren. Wenn Sie es noch nicht gelesen haben, wird empfohlen, es zuerst zu lesen, um die Grundkenntnisse über das Testen der temporären URL in Laravel zu verstehen.
Storage::temporaryUrl()
Dieser Artikel wird in den Teilen von Diskussionen darüber, wie die Gefrierzeit überschritten wird, um den temporären URL -Test zuverlässiger zu gestalten, insbesondere in Bezug auf zeitsensible Funktionen. Wir werden Laravels gebaute Testerleiterfunktionen und die Zeitbetriebsfunktion von Carbon verwenden, um die potenzielle Inkonsistenz im Test zu lösen. Storage::fake
temporaryUrl
Warum gefrorene Zeit wichtig ist
Temporäre URL enthält normalerweise abgelaufene Zeitstempel, um sie für die Zeit empfindlich zu machen. In der Testumgebung führt eine geringe Verzögerung während des Ausführungsprozesses dazu, dass die Ablaufzeit nicht übereinstimmt, was zum Ausfall des Tests führt. Zum Beispiel:
Laravels Zeit gefrorene Hilfsfunktion
<code>断言两个字符串相等失败。 预期值:'http://localhost/test/image?expiration=1737729799' 实际值:'http://localhost/test/image?expiration=1737729800'</code>
laravel bietet verschiedene Methoden zum Einfrieren und Betrieb von Zeit im Testen:
: Gefrorene Zeit zum aktuellen Moment. An jeder Zeit für zeitbasierte Anrufe nutzen Anrufe diese Gefrierzeit.
$this->freezeTime()
: simuliert den spezifischen Punkt der Zeit.
$this->travelTo(Carbon::now())
Carbon::setTestNow(Carbon::now())
gefrorene Zeit im Test
Praktisches Beispiel: Verwenden Sie temporäre URL, um externe Bilder zu erhalten
<code>断言两个字符串相等失败。 预期值:'http://localhost/test/image?expiration=1737729799' 实际值:'http://localhost/test/image?expiration=1737729800'</code>
$this->freezeTime()
Speicherbehandlungen assertMissing
assertExists
: Simulation externe API -Aufrufe, um Bilder zu erhalten. Das obige ist der detaillierte Inhalt vonGefrierzeit: Testen von Laravel temporärer Speicher -URLs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!