ab testing for code
<?php
require 'vendor/autoload.php';
$experiment = new Gil\ABCode\DefaultExperiment('test-one');
$test = new Gil\ABCode\Test($experiment);
$test
->setControl(function() {
return User::find(10);
})
->setCandidate(function() {
return (new UserService)->findById(10);
});
$test->run(true);
<?php
require 'vendor/autoload.php';
$experiment = new Gil\ABCode\DefaultExperiment('test-two');
$test = new Gil\ABCode\Test($experiment);
$test
->setControl(function() {
usleep(200);
return [1, 2, 3, 4, 5, 6];
}, function ($result) {
return array_reduce($result, function($carry, $item) {
$carry += $item;
return $carry;
});
})
->setCandidate(function() {
usleep(100);
return [1, 2, 3, 4, 5, 6];
}, function ($result) {
return array_reduce($result, function($carry, $item) {
$carry += $item;
return $carry;
});
})
->runIf(function(){
return true;
});
$test->run(true);