}
            ok($run);
        });
    });
    describe("after_each_hook", function () {
        it("should run after every test case", function () {
            $run = false;
            $this->config->reporter = new BaseReporter();
            $this->config->after_each_hook = function () use(&$run) {
                $run = true;
            };
            $old_config = Preview::$config;
            Preview::$config = $this->config;
            $exception_in_sample_code = null;
            try {
                $suite = new TestSuite("sample suite", function () {
                });
                $suite->add(new TestCase("sample case", function () {
                }));
                $suite->run();
            } catch (\Exception $e) {
                $exception_in_sample_code = $e;
            }
            Preview::$config = $old_config;
            if ($exception_in_sample_code) {
                throw $exception_in_sample_code;
            }
            ok($run);
        });
    });
});
Exemple #2
0
     before(function () {
         $testsuite = new TestSuite("suite-title", null);
         $this->result = $testsuite->result;
     });
     it_behaves_like("pending test result");
 });
 context("for finished testsuite", function () {
     before_each(function () {
         $old_config = Preview::$config;
         Preview::$config = new Configuration();
         Preview::$config->reporter = new BaseReporter();
         $testsuite = new TestSuite("suite-title-1", function () {
         });
         $testsuite->set_parent(new TestSuite("suite-title-2", function () {
         }));
         $testsuite->run();
         Preview::$config = $old_config;
         $this->testsuite = $testsuite;
         $this->result = $testsuite->result;
     });
     it_behaves_like("finished test result");
     context("when passed", function () {
         it_behaves_like("passed test result");
     });
     context("when failed", function () {
         before_each(function () {
             $this->testsuite->set_failure(new \Exception("failed"));
         });
         it_behaves_like("failed test result");
     });
     context("when error occurred", function () {