public function __invoke() { $test = function () { }; $testName = 'testName'; $suite = new Suite(); $runTestsCount = 0; $testsNames = []; $afterSuiteCallback = function ($testNumber, $testName) use(&$runTestsCount, &$testsNames) { $testsNames[] = $testName; $runTestsCount++; }; $suite->setAfterTestCallback($afterSuiteCallback); $suite->addTest($test, $testName); $suite(new Runner()); $expectedTests = [$testName]; Assert::same($testsNames, $expectedTests); Assert::same($runTestsCount, 1); }
public function __invoke() { $passingTest = function () { }; $passingTestName = 'passing test'; $afterTestCallback = function ($testNumber, $testName, $testResult) use(&$spy) { $spy = (object) ['testNumber' => $testNumber, 'testName' => $testName, 'testResult' => $testResult]; }; $runner = new Runner(); $suite = new Suite(); $suite->setAfterTestCallback($afterTestCallback); $suite->addTest($passingTest, $passingTestName); $suite($runner); $expected = new \stdClass(); $expected->testNumber = 1; $expected->testName = $passingTestName; $expected->testResult = Result::passed($passingTestName); Assert::like($spy, $expected); }