0
votes

Comment créer une usine avec des images pour les tests

Je dois créer une usine qui crée des images pour tester. L'usine doit créer des images et les sauvegarder sur le stockage et après le test, tout doit être effacé.

Comment puis-je faire cela?

Ce que je pense maintenant, c'est de mettre les champs à Null sur l'usine puis à l'aide de la méthode pour enregistrer les images manuellement, mais ce doit être un meilleur moyen de le faire correctement?

Ce que je veux réaliser est: xxx

qui générera toutes les images.

$ faner-> image ne fonctionne plus depuis que LoremPixel (le fournisseur) est vraiment lent ou descendant la plupart du temps.


1 commentaires

Cela ressemble à un XY problème Question majeure ici, c'est pourquoi avez-vous besoin de créer des images réelles au lieu d'utiliser un faux stockage


3 Réponses :


0
votes

Vous pouvez générer de fausses images à l'aide de $ faker-> image code>.

Voici un exemple p>

use Faker\Generator as Faker; 
$factory->define(Product::class, function (Faker $faker) {
    return [

        'amount' => $faker->randomFloat(2, 0, 10000),
        'image' => $faker->image('public/storage/images',640,480, null, false),

    ];
});


1 commentaires

Je pense $ Faker-> L'image ne fonctionne plus depuis que Lorempixel (le fournisseur) est vraiment lent ou diminuant la plupart du temps.



0
votes

Vous pouvez sûrement créer des images avec faker pour les tests comme ci-dessous, xxx

lorsque vous appelez usine (\ app \ Catégorie :: Classe) -> Créer (); Il créera une image à l'intérieur Test-images-images / avec des dimensions spécifiées.

ci-dessous est la signature de image () , qui est auto -Explanatoire, xxx

La seule chose est que vous devez effacer le répertoire Test-images une fois que l'exécution du test est terminée. < / p>


1 commentaires

$ Faker-> L'image ne fonctionne plus depuis que LoremPixel (le fournisseur) est vraiment lent ou diminuant la plupart du temps.



0
votes

La manière plus propre que j'ai trouvée est:

  1. Définissez la valeur à NULL sur l'usine XXX

  2. Utilisez $ usine-> AfterCréer pour remplacer la valeur et enregistrer la Image XXX

  3. créer un faux stockage sur la configuration de test () et le réinitialiser sur la déchirure ()

    Configuration de la fonction protégée (): Void {Parent :: Configuration (); Stockage :: Faux («Public»);}

    Fonction protégée Détruire (): Void { Stockage :: faux ("public"); }

    Cette solution crée des images pour tester et supprimer tout après elle.

    (désolé pour l'échantillon de code, je ne peux pas le faire indenter correctement)


0 commentaires