-
Notifications
You must be signed in to change notification settings - Fork 4
Perl module to help build up complex, semi-random data for testing.
schwern/Test-Sims
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Test::Sims is a Perl module to support the Sims testing technique to generate large, complex, interesting, semi-random yet valid data for testing purposes. Here's the slides outlining the technique: http://schwern.org/talks/Generating%20Test%20Data%20With%20The%20Sims.pdf Install as any normal Module::Build Perl module. perl Build.PL ./Build ./Build test sudo ./Build install Or for your own personal use: perl Build.PL --install_base ~ ./Build ./Build test ./Build install Here's an example of making a simple package to generate random dates. package Sim::Date; use strict; use warnings; use DateTime; use Test::Sims; # Create rand_year(), rand_month(), etc... # All exportable on demand or with the :rand tag make_rand year => [1800..2100]; make_rand month => [1..12]; make_rand day => [1..31]; make_rand hour => [0..23]; make_rand minute=> [0..59]; make_rand second=> [0..59]; sub sim_datetime { my %defaults = ( year => rand_year(), month => rand_month(), day => rand_day(), hour => rand_hour(), minute => rand_minute(), second => rand_second(), ); return DateTime->new( %defaults, @_ ); } # Export sim_datetime() export_sims(); And then using it. use Sim::Date; # Random date. my $date = sim_datetime; # Random date in the year 2009 my $date = sim_datetime( year => 2009 );
About
Perl module to help build up complex, semi-random data for testing.
Resources
Stars
Watchers
Forks
Packages 0
No packages published