$all = $this->results; $result = array_filter($all, function ($suite) { return $suite->skipped(); }); ok(count($result) == 1); }); }); describe("case state", function () { before_each(function () { // start new env Preview::$world = $this->world; Preview::$config = $this->config; $exception_in_sample_code = null; // below is our test try { $suite = new Suite("sample suite"); $suite->test("error", function () { $a->value; })->test("failed", function () { ok(false); })->test("passed", function () { })->test("skipped", "skip", function () { })->load(); $this->results = $this->world->run(); } catch (\Exception $e) { $exception_in_sample_code = $e; // end new env } Preview::$world = $this->test_world; Preview::$config = $this->test_config; if ($exception_in_sample_code) {
}); before_each(function () { $this->suite = new Suite("sample suite"); }); context("sample test suite", function () { before_each(function () { // start new env Preview::$world = $this->world; Preview::$config = $this->config; $exception_in_sample_code = null; // ------ test ------- try { $this->suite->test("c1", function () { })->test("c2", "skip", function () { })->test("c3"); $child = new Suite("child suite"); $child->test("c4", function () { })->test("c5", "skip", function () { })->test("c6"); $this->suite->add_child($child)->load(); $this->results = $this->world->run(); // ------ end test ------- } catch (\Exception $e) { $exception_in_sample_code = $e; // end new env } Preview::$world = $this->test_world; Preview::$config = $this->test_config; if ($exception_in_sample_code) { throw $exception_in_sample_code; }
// end new env Preview::$world = $this->test_world; Preview::$config = $this->test_config; ok($message[0] == "before"); ok($total == 1); }); }); describe("#after_hook", function () { it("should run after the testsuite", function () { // start new env Preview::$world = $this->world; Preview::$config = $this->config; // -- test start -- $message = array(); $total = 0; $suite = new Suite("sample suite"); $suite->after(function () use(&$message, &$total) { $message[] = "after"; $total++; }); $suite->after_each(function () use(&$message) { $message[] = "then after_each"; }); $suite->test("add a new message", function () use(&$message) { $message[] = "it first"; }); $suite->test("add a new message", function () use(&$message) { $message[] = "it first"; }); $suite->load(); $this->world->run();