Schreiben eines Tests für ein Dist :: Zilla Münzprägung Modul
-
01-10-2019 - |
Frage
Es ist Zeit, dass ich einen Funktionstest schrieb für Dist :: Zilla: : Plugin :: Katalysator . Aber ich merkte, dass ich habe keine Ahnung, wo zu beginnen. Ich weiß, dass ich von meinem Test-Suite erkannt eine benutzerdefinierte Münzprägung Profil haben müssen, und dass ich wahrscheinlich nur Test gehen, um sicherzustellen, dass alle die richtigen Dateien ausgegeben werden, mit geeigneten perms. Ich bin nicht sicher, was für die DZ-Modul Sie für die Aufnahme des Präge Profils verwenden, oder, wie man dann eine Münze zu starten, und dann die Ausgabe überprüfen (weil ich vermute, dass es ein temporäres Verzeichnis verwenden geht).
Könnte mir jemand ein paar Tipps geben? gibt es andere Münzprägung Module, die Tests?
habenLösung
Die offiziellen Dist :: Zilla Tutorial jetzt hat
Andere Tipps
Hier ist eine sehr einfache Testdatei für eine minter.
#!/usr/bin/perl
use strict;
use warnings;
use Dist::Zilla::Tester;
use Test::More;
use Path::Class;
my $tzil = Minter->_new_from_profile(
# which profile to run e.g. dzil new -p
[ Default => 'default' ],
# app name
{ name => 'CatApp', },
# location of whats esessntially your tests ~/.dzil
{ global_config_root => dir('corpus/mint')->absolute },
);
# same as running dzil new
$tzil->mint_dist;
# mint root, obviously getting the location of the temporary repo creation
my $mr = dir( $tzil->tempdir )->subdir('mint');
# test to see if CatApp.pm exists
ok( -e $mr->subdir('lib')->file('CatApp.pm'), 'CatApp.pm exists');
done_testing
natürlich für viele einen echten Test Sie wollen auch die geprägten Dateien lesen. Dies kann mit $tzil->slurp_file('file');
erfolgen.
ist nicht viel anders zum Testen eines geprägten dist von einem regulären Dist :: Zilla :: Tester Test, so dass Sie den Blog lesen könnte wünschte, ich schrieb auf einen einfachen Dist :: Zilla :: Tester Test zu schreiben.