Dans l'article précédent "Tester l'URL provisoire dans le stockage de Laravel", nous avons discuté de la technique de deux méthodes
pour tester Laravel. Bien que il ne prenne pas en charge Storage::temporaryUrl()
, nous démontrons comment utiliser la simulation pour simuler efficacement son comportement. Si vous ne l'avez pas encore lu, il est recommandé de le lire d'abord pour comprendre les connaissances de base du test de l'URL temporaire dans Laravel. Storage::fake
temporaryUrl
Cet article sera dans des discussions sur la façon de passer le temps de congélation pour rendre le test URL temporaire plus fiable, en particulier en termes de fonctions sensibles au temps. Nous utiliserons les fonctions auxiliaires du test construit par Laravel et la fonction de fonctionnement du temps de Carbon pour résoudre l'incohérence potentielle du test.
Pourquoi le temps gelé est important
Lorsque le horodatage d'expiration généré pendant l'exécution du test est légèrement différent en raison du décalage de temps, cela se produira. Le temps de gel s'assurera que toutes les opérations liées au temps de retour à des valeurs cohérentes pour éliminer cette différence.
<code>断言两个字符串相等失败。 预期值:'http://localhost/test/image?expiration=1737729799' 实际值:'http://localhost/test/image?expiration=1737729800'</code>
Fonction auxiliaire congelée du temps de Laravel
$this->freezeTime()
$this->travelTo(Carbon::now())
: Réglez l'heure actuelle pour toutes les opérations de carbone. Carbon::setTestNow(Carbon::now())
Pour plus de détails, veuillez vous référer aux ressources suivantes: Temps congelé dans le test de Laravel
Temps congelé dans le test
Ce qui suit est de savoir comment utiliser le temps figé pour tester les fonctions ci-dessus:
<code>断言两个字符串相等失败。 预期值:'http://localhost/test/image?expiration=1737729799' 实际值:'http://localhost/test/image?expiration=1737729800'</code>
$this->freezeTime()
Affirmation de stockage assertMissing
assertExists
: Simulation API externe API pour obtenir des images. En adoptant ces pratiques, vous aurez des tests qui pourront prédire et avoir des URL temporaires plus puissantes et d'autres fonctions sensibles au temps.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!