PASS Tests\Arch ✓ arch "base" preset ✓ arch "strict" preset ✓ arch "security" preset ✓ globals ✓ dependencies ✓ contracts PASS Tests\Environments\Windows ✓ global functions are loaded WARN Tests\Features\After ✓ it can run after test ✓ it can run after test twice - it does not run when skipped - something → it does not run when skipped ✓ something → it can run after test ✓ something 2 → it can run after test ✓ high order test - high order test with skip ✓ post 'foo' → defer Closure → expect Closure → toBe 1 PASS Tests\Features\AfterAll ✓ deletes file after all PASS Tests\Features\AfterEach ✓ it does not get executed before the test ✓ it gets executed after the test PASS Tests\Features\BeforeAll ✓ it gets executed before tests ✓ it do not get executed before each test PASS Tests\Features\BeforeEach ✓ it gets executed before each test ✓ it gets executed before each test once again PASS Tests\Features\BeforeEachProxiesToTestCallWithExpectations ✓ runs 1 ✓ runs 2 ✓ runs 3 WARN Tests\Features\BeforeEachProxiesToTestCallWithSkip - does not run 1 - does not run 2 - does not run 3 TODO Tests\Features\BeforeEachProxiesToTestCallWithTodo - 4 todos ↓ is marked as todo 1 ↓ is marked as todo 2 ↓ is marked as todo 3 ↓ shouldBeMarkedAsTodo WARN Tests\Features\Coverage ✓ it has plugin - it adds coverage if --coverage exist → Coverage is not available ✓ it adds coverage if --min exist ✓ it generates coverage based on file input PASS Tests\Features\Covers ✓ it uses the correct PHPUnit attribute for class ✓ it uses the correct PHPUnit attribute for function ✓ it guesses if the given argument is a class or function ✓ it uses the correct PHPUnit attribute for trait ✓ it uses the correct PHPUnit attribute for covers nothing ✓ it throws exception if no class nor method has been found PASS Tests\Features\DatasetsTests - 1 todo ✓ it throws exception if dataset does not exist ✓ it throws exception if dataset already exist ✓ it sets closures ✓ it sets arrays ✓ it gets bound to test case object with ('a') ✓ it gets bound to test case object with ('b') ✓ it truncates the description with ('FoooFoooFoooFoooFoooFoooFoooF…ooFooo') ✓ lazy datasets with (1) ✓ lazy datasets with (2) ✓ lazy datasets did the job right ✓ interpolated (1) lazy datasets ✓ interpolated (2) lazy datasets ✓ eager datasets with (1) ✓ eager datasets with (2) ✓ eager datasets did the job right ✓ lazy registered datasets with (1) ✓ lazy registered datasets with (2) ✓ lazy registered datasets did the job right ✓ eager registered datasets with (1) ✓ eager registered datasets with (2) ✓ eager registered datasets did the job right ✓ eager wrapped registered datasets with (1) ✓ eager wrapped registered datasets with (2) ✓ eager registered wrapped datasets did the job right ✓ named datasets with dataset "one" ✓ named datasets with dataset "two" ✓ interpolated "one" named datasets ✓ interpolated "two" named datasets ✓ named datasets did the job right ✓ lazy named datasets with (Bar) ✓ it creates unique test case names with ('Name 1', Pest\Plugin Object (), true) #1 ✓ it creates unique test case names with ('Name 1', Pest\Plugin Object (), true) #2 ✓ it creates unique test case names with ('Name 1', Pest\Plugin Object (), false) ✓ it creates unique test case names with ('Name 2', Pest\Plugin Object (), false) ✓ it creates unique test case names with ('Name 2', Pest\Plugin Object (), true) ✓ it creates unique test case names with ('Name 1', Pest\Plugin Object (), true) #3 ✓ it creates unique test case names - count ✓ lazy multiple datasets with (1) / (3) ✓ lazy multiple datasets with (1) / (4) ✓ lazy multiple datasets with (2) / (3) ✓ lazy multiple datasets with (2) / (4) ✓ lazy multiple datasets did the job right ✓ eager multiple datasets with (1) / (3) ✓ eager multiple datasets with (1) / (4) ✓ eager multiple datasets with (2) / (3) ✓ eager multiple datasets with (2) / (4) ✓ eager multiple datasets did the job right ✓ lazy registered multiple datasets with (1) / (1) ✓ lazy registered multiple datasets with (1) / (2) ✓ lazy registered multiple datasets with (2) / (1) ✓ lazy registered multiple datasets with (2) / (2) ✓ lazy registered multiple datasets did the job right ✓ eager registered multiple datasets with (1) / (1) ✓ eager registered multiple datasets with (1) / (2) ✓ eager registered multiple datasets with (2) / (1) ✓ eager registered multiple datasets with (2) / (2) ✓ eager registered multiple datasets did the job right ✓ eager wrapped registered multiple datasets with (1) / (1) ✓ eager wrapped registered multiple datasets with (1) / (2) ✓ eager wrapped registered multiple datasets with (2) / (1) ✓ eager wrapped registered multiple datasets with (2) / (2) ✓ eager wrapped registered multiple datasets did the job right ✓ named multiple datasets with dataset "one" / dataset "three" ✓ named multiple datasets with dataset "one" / dataset "four" ✓ named multiple datasets with dataset "two" / dataset "three" ✓ named multiple datasets with dataset "two" / dataset "four" ✓ named multiple datasets did the job right ✓ more than two datasets with (1) / (3) / (5) ✓ more than two datasets with (1) / (3) / (6) ✓ more than two datasets with (1) / (4) / (5) ✓ more than two datasets with (1) / (4) / (6) ✓ more than two datasets with (2) / (3) / (5) ✓ more than two datasets with (2) / (3) / (6) ✓ more than two datasets with (2) / (4) / (5) ✓ more than two datasets with (2) / (4) / (6) ✓ more than two datasets did the job right ✓ eager registered wrapped datasets with Generator functions with (1) ✓ eager registered wrapped datasets with Generator functions with (2) ✓ eager registered wrapped datasets with Generator functions with (3) ✓ eager registered wrapped datasets with Generator functions with (4) ✓ eager registered wrapped datasets with Generator functions did the job right ✓ eager registered wrapped datasets with Generator functions display description with dataset "taylor" ✓ eager registered wrapped datasets with Generator functions display description with dataset "james" ✓ it can resolve a dataset after the test case is available with (Closure) #1 ✓ it can resolve a dataset after the test case is available with (Closure) #2 ✓ it can resolve a dataset after the test case is available with multiple datasets with (Closure) / (Closure) #1 ✓ it can resolve a dataset after the test case is available with multiple datasets with (Closure) / (Closure) #2 ✓ it can resolve a dataset after the test case is available with multiple datasets with (Closure) / (Closure) #3 ✓ it can resolve a dataset after the test case is available with multiple datasets with (Closure) / (Closure) #4 ✓ it can resolve a dataset after the test case is available with shared yield sets with (Closure) #1 ✓ it can resolve a dataset after the test case is available with shared yield sets with (Closure) #2 ✓ it can resolve a dataset after the test case is available with shared array sets with (Closure) #1 ✓ it can resolve a dataset after the test case is available with shared array sets with (Closure) #2 ✓ it resolves a potential bound dataset logically with ('foo', Closure) ✓ it resolves a potential bound dataset logically even when the closure comes first with (Closure, 'bar') ✓ it will not resolve a closure if it is type hinted as a closure with (Closure) #1 ✓ it will not resolve a closure if it is type hinted as a closure with (Closure) #2 ✓ it will not resolve a closure if it is type hinted as a callable with (Closure) #1 ✓ it will not resolve a closure if it is type hinted as a callable with (Closure) #2 ✓ it can correctly resolve a bound dataset that returns an array with (Closure) ✓ it can correctly resolve a bound dataset that returns an array but wants to be spread with (Closure) ↓ forbids to define tests in Datasets dirs and Datasets.php files ✓ it may be used with high order with dataset "formal" ✓ it may be used with high order with dataset "informal" ✓ it may be used with high order even when bound with dataset "formal" ✓ it may be used with high order even when bound with dataset "informal" PASS Tests\Features\Depends ✓ first ✓ second ✓ depends ✓ depends with ...params ✓ depends with defined arguments ✓ depends run test only once ✓ it asserts true is true ✓ depends works with the correct test name PASS Tests\Features\DependsInheritance ✓ it is a test ✓ it uses correct parent class DEPR Tests\Features\Deprecated ! deprecated → str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated // tests/Features/Deprecated.php:4 ! user deprecated → Since foo 1.0: This is a deprecation description // tests/Features/Deprecated.php:10 PASS Tests\Features\Describe - 5 todos ✓ before each ✓ hooks → value ✓ hooks in different orders → value ↓ todo ✓ previous describable before each does not get applied here ↓ todo on hook → should not fail ↓ todo on hook → should run ↓ todo on describe → should not fail ↓ todo on describe → should run ✓ should run ✓ with with (1) ✓ with on hook → value with (2) ✓ with on describe → value with (3) ✓ depends on describe → foo ✓ depends on describe → bar ✓ depends on describe using with → foo with (3) ✓ depends on describe using with → bar with (3) PASS Tests\Features\DescriptionLess ✓ get 'foo' ✓ get 'foo' → get 'bar' → expect true → toBeTrue ✓ get 'foo' → expect true → toBeTrue ✓ a "describe" group of tests → get 'foo' ✓ a "describe" group of tests → get 'foo' → get 'bar' → expect true → toBeTrue ✓ a "describe" group of tests → get 'foo' → expect true → toBeTrue PASS Tests\Features\Exceptions ✓ it gives access the the underlying expectException ✓ it catch exceptions ✓ it catch exceptions and messages ✓ it catch exceptions, messages and code ✓ it can just define the message ✓ it can just define the code ✓ it not catch exceptions if given condition is false ✓ it catch exceptions if given condition is true ✓ it catch exceptions and messages if given condition is true ✓ it catch exceptions, messages and code if given condition is true ✓ it can just define the message if given condition is true ✓ it can just define the code if given condition is true ✓ it can just define the message if given condition is 1 ✓ it can just define the code if given condition is 1 ✓ it not catch exceptions if given condition is true ✓ it catch exceptions if given condition is false ✓ it catch exceptions and messages if given condition is false ✓ it catch exceptions, messages and code if given condition is false ✓ it can just define the message if given condition is false ✓ it can just define the code if given condition is false ✓ it can just define the message if given condition is 0 ✓ it can just define the code if given condition is 0 PASS Tests\Features\Expect\HigherOrder\methods ✓ it can access methods ✓ it can access multiple methods ✓ it works with not ✓ it can accept arguments ✓ it works with each ✓ it works inside of each ✓ it works with sequence ✓ it can compose complex expectations ✓ it can handle nested method calls ✓ it works with higher order tests ✓ it can use the scoped method to lock into the given level for expectations ✓ it works consistently with the json expectation method PASS Tests\Features\Expect\HigherOrder\methodsAndProperties ✓ it can access methods and properties ✓ it can handle nested methods and properties ✓ it works with higher order tests ✓ it can start a new higher order expectation using the and syntax ✓ it can start a new higher order expectation using the and syntax in higher order tests ✓ it can start a new higher order expectation using the and syntax without nesting expectations PASS Tests\Features\Expect\HigherOrder\properties ✓ it allows properties to be accessed from the value ✓ it can access multiple properties from the value ✓ it works with not ✓ it works with each ✓ it works inside of each ✓ it works with sequence ✓ it can compose complex expectations ✓ it works with objects ✓ it works with nested properties ✓ it works with higher order tests PASS Tests\Features\Expect\each ✓ an exception is thrown if the the type is not iterable ✓ it expects on each item ✓ it chains expectations on each item ✓ opposite expectations on each item ✓ chained opposite and non-opposite expectations ✓ it can add expectations via "and" ✓ it accepts callables ✓ it passes the key of the current item to callables PASS Tests\Features\Expect\extend ✓ it macros true is true ✓ it macros false is not true ✓ it macros true is true with argument ✓ it macros false is not true with argument PASS Tests\Features\Expect\json ✓ it properly parses json string ✓ fails with broken json string PASS Tests\Features\Expect\matchExpectation ✓ it pass ✓ it failures ✓ it runs with truthy ✓ it runs with falsy ✓ it runs with truthy closure condition ✓ it runs with falsy closure condition ✓ it can be passed non-callable values ✓ it fails with unhandled match ✓ it can be used in higher order tests PASS Tests\Features\Expect\not ✓ not property calls PASS Tests\Features\Expect\pipes ✓ pipe is applied and can stop pipeline ✓ pipe is run and can let the pipeline keep going ✓ pipe works with negated expectation ✓ interceptor is applied ✓ interceptor stops the pipeline ✓ interceptor is called only when filter is met ✓ interceptor can be filtered with a closure ✓ interceptor can be filter the expected parameter as well ✓ interceptor works with negated expectation ✓ intercept can add new parameters to the expectation PASS Tests\Features\Expect\ray ✓ ray calls do not fail when ray is not installed PASS Tests\Features\Expect\sequence ✓ an exception is thrown if the the type is not iterable ✓ an exception is thrown if there are no expectations ✓ allows for sequences of checks to be run on iterable data ✓ loops back to the start if it runs out of sequence items ✓ fails if the number of iterable items is less than the number of expectations ✓ it works with associative arrays ✓ it can be passed non-callable values ✓ it can be passed a mixture of value types ✓ it works with traversables PASS Tests\Features\Expect\toBe ✓ strict comparisons ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeAlpha ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeAlphaNumeric ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeArray ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeBetween ✓ passes with int ✓ passes with float ✓ passes with float and int ✓ passes with DateTime ✓ failure with int ✓ failure with float ✓ failure with float and int ✓ failure with DateTime ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeBool ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeCallable ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeCamelCase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeDigits ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeDirectory ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeEmpty ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeFalse ✓ strict comparisons ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeFalsy ✓ passes as falsy with (false) ✓ passes as falsy with ('') ✓ passes as falsy with (null) ✓ passes as falsy with (0) ✓ passes as falsy with ('0') ✓ passes as not falsy with (true) ✓ passes as not falsy with (1) #1 ✓ passes as not falsy with ('false') ✓ passes as not falsy with (1) #2 ✓ passes as not falsy with (-1) ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeFile ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeFloat ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeGreaterThan ✓ passes ✓ passes with DateTime and DateTimeImmutable ✓ passes with strings ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeGreaterThanOrEqual ✓ passes ✓ passes with DateTime and DateTimeImmutable ✓ passes with strings ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeIn ✓ passes ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeInfinite ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeInstanceOf ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeInt ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeIntBackedEnum ✓ enum is backed by int ✓ enum is not backed by int PASS Tests\Features\Expect\toBeInvokable ✓ class is invokable ✓ opposite class is invokable ✓ class is invokable via a parent class ✓ class is invokable via a trait ✓ failure when the class is not invokable ✓ class is not invokable PASS Tests\Features\Expect\toBeIterable ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeJson ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeKebabCase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeLessThan ✓ passes ✓ passes with DateTime and DateTimeImmutable ✓ passes with strings ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeLessThanOrEqual ✓ passes ✓ passes with DateTime and DateTimeImmutable ✓ passes with strings ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeList ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeLowercase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeNAN ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeNull ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeNumeric ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeObject ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeReadableDirectory ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeReadableFile ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeResource ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeScalar ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeSnakeCase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeString ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeStringBackedEnum ✓ enum is backed by string ✓ enum is not backed by string PASS Tests\Features\Expect\toBeStudlyCase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeTrue ✓ strict comparisons ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeTruthy ✓ passes as truthy with (true) ✓ passes as truthy with (1) #1 ✓ passes as truthy with ('false') ✓ passes as truthy with (1) #2 ✓ passes as truthy with (-1) ✓ passes as not truthy with (false) ✓ passes as not truthy with ('') ✓ passes as not truthy with (null) ✓ passes as not truthy with (0) ✓ passes as not truthy with ('0') ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeUppercase ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeUrl ✓ pass ✓ failures ✓ failures with custom message ✓ failures with default message ✓ not failures PASS Tests\Features\Expect\toBeUuid ✓ failures with wrong type ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toBeWritableDirectory ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toBeWritableFile ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toContain ✓ passes strings ✓ passes strings with multiple needles ✓ passes arrays ✓ passes arrays with multiple needles ✓ passes with array needles ✓ failures ✓ failures with multiple needles (all failing) ✓ failures with multiple needles (some failing) ✓ not failures ✓ not failures with multiple needles (all failing) ✓ not failures with multiple needles (some failing) PASS Tests\Features\Expect\toContainEqual ✓ passes arrays ✓ passes arrays with multiple needles ✓ failures ✓ failures with multiple needles (all failing) ✓ failures with multiple needles (some failing) ✓ not failures ✓ not failures with multiple needles (all failing) ✓ not failures with multiple needles (some failing) PASS Tests\Features\Expect\toContainOnlyInstancesOf ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toEndWith ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toEqual ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toEqualCanonicalizing ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toEqualWithDelta ✓ pass ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toHaveAttribute ✓ class has attribute ✓ opposite class has attribute ✓ class not has attribute PASS Tests\Features\Expect\toHaveCamelCaseKeys ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveConstructor ✓ class has constructor ✓ class has no constructor PASS Tests\Features\Expect\toHaveCount ✓ pass ✓ failures with invalid type ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveDestructor ✓ class has destructor ✓ class has no destructor PASS Tests\Features\Expect\toHaveKebabCaseKeys ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveKey ✓ pass ✓ pass with nested key ✓ pass with plain key with dots ✓ pass with value check ✓ pass with value check and nested key ✓ pass with value check and plain key with dots ✓ failures ✓ failures with custom message ✓ failures with custom message and Any matcher ✓ failures with nested key ✓ failures with nested key and custom message ✓ failures with nested key and custom message with Any matcher ✓ failures with plain key with dots ✓ fails with wrong value ✓ fails with wrong value and nested key ✓ fails with wrong value and plain key with dots ✓ not failures ✓ not failures with nested key ✓ not failures with plain key with dots ✓ not failures with correct value ✓ not failures with correct value and with nested key ✓ not failures with correct value and with plain key with dots PASS Tests\Features\Expect\toHaveKeys ✓ pass ✓ pass with multi-dimensional arrays ✓ failures ✓ failures with custom message ✓ failures with multi-dimensional arrays ✓ failures with multi-dimensional arrays and custom message ✓ not failures ✓ not failures with multi-dimensional arrays PASS Tests\Features\Expect\toHaveLength ✓ it passes with ('Fortaleza') ✓ it passes with ('Sollefteå') ✓ it passes with ('Ιεράπετρα') ✓ it passes with (stdClass) ✓ it passes with array ✓ it passes with *not* ✓ it properly fails with *not* ✓ it fails ✓ it fails with message PASS Tests\Features\Expect\toHaveMethod ✓ class has method ✓ opposite class has method ✓ class has method via a parent class ✓ class has method via a trait ✓ failure when the class has no method ✓ class has no method PASS Tests\Features\Expect\toHaveMethods ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toHavePrefix ✓ missing prefix ✓ has prefix ✓ opposite missing prefix ✓ opposite has prefix PASS Tests\Features\Expect\toHaveProperties ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toHaveProperty ✓ pass ✓ failures ✓ failures with message ✓ failures with message and Any matcher ✓ not failures PASS Tests\Features\Expect\toHaveSameSize ✓ failures with wrong type ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveSnakeCaseKeys ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveStudlyCaseKeys ✓ pass ✓ failures ✓ failures with message ✓ not failures PASS Tests\Features\Expect\toHaveSuffix ✓ missing suffix ✓ has suffix ✓ opposite missing suffix ✓ opposite has suffix PASS Tests\Features\Expect\toMatch ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toMatchArray ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toMatchConstraint ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toMatchObject ✓ pass ✓ pass with class ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toMatchSnapshot ✓ pass ✓ pass using pipes ✓ pass with __toString ✓ pass with toString ✓ pass with dataset with ('my-datas-set-value') ✓ within describe → pass with dataset with ('my-datas-set-value') ✓ pass with toArray ✓ pass with array ✓ pass with toSnapshot ✓ failures ✓ failures with custom message ✓ not failures ✓ multiple snapshot expectations ✓ multiple snapshot expectations with datasets with (1) ✓ multiple snapshot expectations with datasets with ('foo') ✓ multiple snapshot expectations with datasets with ('bar') ✓ multiple snapshot expectations with datasets with ('baz') ✓ describable → multiple snapshot expectations with describe ✓ multiple snapshot expectations with repeat @ repetition 1 of 10 ✓ multiple snapshot expectations with repeat @ repetition 2 of 10 ✓ multiple snapshot expectations with repeat @ repetition 3 of 10 ✓ multiple snapshot expectations with repeat @ repetition 4 of 10 ✓ multiple snapshot expectations with repeat @ repetition 5 of 10 ✓ multiple snapshot expectations with repeat @ repetition 6 of 10 ✓ multiple snapshot expectations with repeat @ repetition 7 of 10 ✓ multiple snapshot expectations with repeat @ repetition 8 of 10 ✓ multiple snapshot expectations with repeat @ repetition 9 of 10 ✓ multiple snapshot expectations with repeat @ repetition 10 of 10 PASS Tests\Features\Expect\toStartWith ✓ pass ✓ failures ✓ failures with custom message ✓ not failures PASS Tests\Features\Expect\toThrow ✓ passes ✓ failures 1 ✓ failures 2 ✓ failures 3 ✓ failures 4 ✓ failures 5 ✓ failures 6 ✓ failures 7 ✓ failures 8 ✓ failures with custom message ✓ not failures ✓ closure missing parameter ✓ closure missing type-hint ✓ it can handle a non-defined exception ✓ it can handle a class not found Error PASS Tests\Features\Expect\unless ✓ it pass ✓ it failures ✓ it runs with truthy ✓ it skips with falsy ✓ it runs with truthy closure condition ✓ it skips with falsy closure condition ✓ it can be used in higher order tests PASS Tests\Features\Expect\when ✓ it pass ✓ it failures ✓ it runs with truthy ✓ it skips with falsy ✓ it runs with truthy closure condition ✓ it skips with falsy closure condition ✓ it can be used in higher order tests PASS Tests\Features\Fail ✓ it may fail ✓ it may fail with the given message PASS Tests\Features\Fails ✓ it may fail ✓ it may fail with the given message WARN Tests\Features\Helpers ✓ it can set/get properties on $this ! it gets null if property do not exist → Undefined property Tests\Features\Helpers::$wqdwqdqw ✓ it allows to call underlying protected/private methods ✓ it throws error if method do not exist ✓ it can forward unexpected calls to any global function ✓ it can use helpers from helpers file ✓ it can use helpers from helpers directory PASS Tests\Features\HigherOrderTests ✓ it proxies calls to object ✓ it is capable doing multiple assertions ✓ it resolves expect callables correctly ✓ does not treat method names as callables ✓ it can defer a method until after test setup ✓ it can tap a method until after test setup ✓ it can pass datasets into the expect callables with (1, 2, 3) ✓ it can pass datasets into the defer callable with (1, 2, 3) ✓ it can pass datasets into the tap callable with (1, 2, 3) ✓ it can pass shared datasets into callables with (1) ✓ it can pass shared datasets into callables with (2) WARN Tests\Features\Incompleted … incompleted … it is incompleted … it is incompleted even with method calls like skip … it is incompleted even with method calls like group ✓ it is not incompleted because of expect ✓ it is not incompleted because of assert ✓ it is not incompleted because of test with assertions … a "describe" group of tests → it is incompleted PASS Tests\Features\It ✓ it is a test ✓ it is a higher order message test ✓ a "describe" group of tests → it is a test ✓ a "describe" group of tests → it is a higher order message test NOTI Tests\Features\Notices ! notice → This is a notice description // tests/Features/Notices.php:4 ! a "describe" group of tests → notice → This is a notice description // tests/Features/Notices.php:11 PASS Tests\Features\Repeat ✓ once ✓ multiple times @ repetition 1 of 5 ✓ multiple times @ repetition 2 of 5 ✓ multiple times @ repetition 3 of 5 ✓ multiple times @ repetition 4 of 5 ✓ multiple times @ repetition 5 of 5 ✓ multiple times with single dataset dataset "a" @ repetition 1 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 1 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 1 of 6 ✓ multiple times with single dataset dataset "a" @ repetition 2 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 2 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 2 of 6 ✓ multiple times with single dataset dataset "a" @ repetition 3 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 3 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 3 of 6 ✓ multiple times with single dataset dataset "a" @ repetition 4 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 4 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 4 of 6 ✓ multiple times with single dataset dataset "a" @ repetition 5 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 5 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 5 of 6 ✓ multiple times with single dataset dataset "a" @ repetition 6 of 6 ✓ multiple times with single dataset dataset "b" @ repetition 6 of 6 ✓ multiple times with single dataset dataset "c" @ repetition 6 of 6 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 1 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 2 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 3 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 4 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 5 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 6 of 7 ✓ multiple times with multiple dataset dataset "a" / (4) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "a" / (5) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "a" / (6) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "b" / (4) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "b" / (5) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "b" / (6) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "c" / (4) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "c" / (5) @ repetition 7 of 7 ✓ multiple times with multiple dataset dataset "c" / (6) @ repetition 7 of 7 ✓ multiple times with iterator @ repetition 1 of 2 ✓ multiple times with iterator @ repetition 2 of 2 ✓ multiple times with repeat iterator with single dataset ('a') @ repetition 1 of 2 ✓ multiple times with repeat iterator with single dataset ('b') @ repetition 1 of 2 ✓ multiple times with repeat iterator with single dataset ('c') @ repetition 1 of 2 ✓ multiple times with repeat iterator with single dataset ('a') @ repetition 2 of 2 ✓ multiple times with repeat iterator with single dataset ('b') @ repetition 2 of 2 ✓ multiple times with repeat iterator with single dataset ('c') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('d') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('e') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('f') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('d') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('e') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('f') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('d') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('e') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('f') @ repetition 1 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('d') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('e') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('a') / ('f') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('d') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('e') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('b') / ('f') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('d') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('e') @ repetition 2 of 2 ✓ multiple times with repeat iterator with multiple dataset ('c') / ('f') @ repetition 2 of 2 PASS Tests\Features\ScopedDatasets\Directory\NestedDirectory1\TestFileInNestedDirectoryWithDatasetsFile ✓ uses dataset with (1) ✓ uses dataset with (2) ✓ uses dataset with (3) ✓ uses dataset with (4) ✓ uses dataset with (5) ✓ uses dataset with ('ScopedDatasets/NestedDirector…ts.php') ✓ the right dataset is taken PASS Tests\Features\ScopedDatasets\Directory\NestedDirectory2\TestFileInNestedDirectory ✓ uses dataset with (1) ✓ uses dataset with (2) ✓ uses dataset with (3) ✓ uses dataset with (4) ✓ uses dataset with (5) ✓ uses dataset with ('ScopedDatasets/Datasets/Scoped.php') ✓ the right dataset is taken PASS Tests\Features\ScopedDatasets\Directory\TestFileWithLocallyDefinedDataset ✓ uses dataset with (1) ✓ uses dataset with (2) ✓ uses dataset with (3) ✓ uses dataset with (4) ✓ uses dataset with (5) ✓ uses dataset with ('ScopedDatasets/ScopedDatasets.php') ✓ the right dataset is taken PASS Tests\Features\ScopedDatasets\Directory\TestFileWithScopedDataset ✓ uses dataset with (1) ✓ uses dataset with (2) ✓ uses dataset with (3) ✓ uses dataset with (4) ✓ uses dataset with (5) ✓ uses dataset with ('ScopedDatasets/Datasets/Scoped.php') ✓ the right dataset is taken PASS Tests\Features\ScopedDatasets\TestFileOutOfScope ✓ uses dataset with (1) ✓ uses dataset with (2) ✓ the right dataset is taken ✓ it can see datasets defined in Pest.php file with ('A') ✓ it can see datasets defined in Pest.php file with ('B') ✓ Pest.php dataset is taken WARN Tests\Features\Skip ✓ it do not skips - it skips with truthy → 1 - it skips with truthy condition by default - it skips with message → skipped because bar - it skips with truthy closure condition ✓ it do not skips with falsy closure condition - it skips with condition and message → skipped because foo - it skips when skip after assertion - it can use something in the test case as a condition → This test was skipped - it can user higher order callables and skip WARN Tests\Features\SkipOnPhp ✓ it can run on php version ✓ it can run on specific php version - it can skip on php versions depending on constraint → This test is skipped on PHP [>=7.4.0]. PASS Tests\Features\Test ✓ a test ✓ higher order message test PASS Tests\Features\ThrowsNoExceptions ✓ it allows access to the underlying expectNotToPerformAssertions method ✓ it allows performing no expectations without being risky ✓ a "describe" group of tests → it allows performing no expectations without being risky PASS Tests\Features\Todo - 3 todos ↓ something todo later ↓ something todo later chained ↓ something todo later chained and with function body ✓ it does something within a file with a todo WARN Tests\Features\Warnings ! warning → Undefined property: P\Tests\Features\Warnings::$fooqwdfwqdfqw ! user warning → This is a warning description ! a "describe" group of tests → user warning → This is a warning description WARN Tests\Fixtures\CollisionTest - error - success PASS Tests\Fixtures\DirectoryWithTests\ExampleTest ✓ it example 1 PASS Tests\Fixtures\ExampleTest ✓ it example 2 WARN Tests\Fixtures\UnexpectedOutput - output PASS Tests\Helpers\TestInHelpers ✓ it executes tests in the Helpers directory PASS Tests\Hooks\AfterEachTest ✓ global afterEach execution order PASS Tests\Hooks\BeforeEachTest ✓ global beforeEach execution order PASS Tests\Overrides\VersionsTest ✓ versions with dataset "Runner/Filter/NameFilterIterator.php" ✓ versions with dataset "Runner/ResultCache/DefaultResultCache.php" ✓ versions with dataset "Runner/TestSuiteLoader.php" ✓ versions with dataset "TextUI/Command/Commands/WarmCodeCoverageCacheCommand.php" ✓ versions with dataset "TextUI/Output/Default/ProgressPrinter/Subscriber/TestSkippedSubscriber.php" ✓ versions with dataset "TextUI/TestSuiteFilterProcessor.php" ✓ versions with dataset "Event/Value/ThrowableBuilder.php" ✓ versions with dataset "Logging/JUnit/JunitXmlLogger.php" PASS Tests\PHPUnit\CustomAffixes\InvalidTestName ✓ it runs file names like @#$%^&()-_=+.php PASS Tests\PHPUnit\CustomAffixes\ATestWithSpaces ✓ it runs file names like A Test With Spaces.php PASS Tests\PHPUnit\CustomAffixes\AdditionalFileExtension ✓ it runs file names like AdditionalFileExtension.spec.php PASS Tests\PHPUnit\CustomAffixes\FolderWithAn\ExampleTest ✓ custom traits can be used ✓ trait applied in this file PASS Tests\PHPUnit\CustomAffixes\ManyExtensions ✓ it runs file names like ManyExtensions.class.test.php PASS Tests\PHPUnit\CustomAffixes\TestCaseWithQuotes ✓ it runs file names like Test 'Case' With Quotes.php PASS Tests\PHPUnit\CustomAffixes\kebabcasespec ✓ it runs file names like kebab-case-spec.php PASS Tests\PHPUnit\CustomAffixes\snakecasespec ✓ it runs file names like snake_case_spec.php PASS Tests\CustomTestCase\ChildTest ✓ override method PASS Tests\CustomTestCase\ExecutedTest ✓ that gets executed PASS Tests\CustomTestCase\ParentTest ✓ override method PASS Tests\PHPUnit\CustomTestCase\UsesPerDirectory ✓ closure was bound to CustomTestCase PASS Tests\PHPUnit\CustomTestCaseInSubFolders\SubFolder\SubFolder\UsesPerSubDirectory ✓ closure was bound to CustomTestCase PASS Tests\PHPUnit\CustomTestCaseInSubFolders\SubFolder2\UsesPerFile ✓ custom traits can be used ✓ trait applied in this file PASS Tests\PHPUnit\GlobPatternTests\SubFolder\InnerFolder\UsesPerDirectoryAsPattern ✓ closure was bound to CustomTestCase PASS Tests\PHPUnit\GlobPatternTests\SubFolder2\UsesPerFileAsPattern ✓ closure was bound to CustomTestCase PASS Tests\Playground ✓ basic PASS Tests\Plugins\Traits ✓ it allows global uses ✓ it allows multiple global uses registered in the same path PASS Tests\Unit\Configuration\In ✓ it proxies to uses call PASS Tests\Unit\Configuration\Theme ✓ it creates a theme instance PASS Tests\Unit\Console\Help ✓ it outputs the help information when --help is used PASS Tests\Unit\DatasetsTests ✓ it show only the names of named datasets in their description ✓ it show the actual dataset of non-named datasets in their description ✓ it show only the names of multiple named datasets in their description ✓ it show the actual dataset of multiple non-named datasets in their description ✓ it show the correct description for mixed named and not-named datasets ✓ it shows the correct description for long texts with newlines ✓ it shows the correct description for arrays with many elements ✓ it shows the correct description of datasets with html PASS Tests\Unit\Expectations\OppositeExpectation ✓ it throw expectation failed exception with string argument ✓ it throw expectation failed exception with array argument PASS Tests\Unit\Overrides\ThrowableBuilder ✓ collision editor can be added to the stack trace PASS Tests\Unit\Plugins\Concerns\HandleArguments ✓ method hasArgument with ('--long-argument', true) ✓ method hasArgument with ('-a', true) ✓ method hasArgument with ('--with-equal-sign', true) ✓ method hasArgument with ('someValue', true) ✓ method hasArgument with ('--a', false) ✓ method hasArgument with ('--undefined-argument', false) PASS Tests\Unit\Plugins\Environment ✓ environment is set to CI when --ci option is used ✓ environment is set to Local when --ci option is not used PASS Tests\Unit\Plugins\Retry ✓ it orders by defects and stop on defects if when --retry is used PASS Tests\Unit\Support\Backtrace ✓ it gets file name from called file PASS Tests\Unit\Support\Container ✓ it exists ✓ it gets an instance ✓ autowire ✓ it creates an instance and resolves parameters ✓ it creates an instance and resolves also sub parameters ✓ it can resolve builtin value types ✓ it cannot resolve a parameter without type PASS Tests\Unit\Support\DatasetInfo ✓ it can check if dataset is defined inside a Datasets directory with ('/var/www/project/tests/Datase…rs.php', true) ✓ it can check if dataset is defined inside a Datasets directory with ('/var/www/project/tests/Datasets.php', false) ✓ it can check if dataset is defined inside a Datasets directory with ('/var/www/project/tests/Featur…rs.php', true) ✓ it can check if dataset is defined inside a Datasets directory with ('/var/www/project/tests/Featur…rs.php', false) ✓ it can check if dataset is defined inside a Datasets directory with ('/var/www/project/tests/Featur…ts.php', false) ✓ it can check if dataset is defined inside a Datasets.php file with ('/var/www/project/tests/Datase…rs.php', false) ✓ it can check if dataset is defined inside a Datasets.php file with ('/var/www/project/tests/Datasets.php', true) ✓ it can check if dataset is defined inside a Datasets.php file with ('/var/www/project/tests/Featur…rs.php', false) #1 ✓ it can check if dataset is defined inside a Datasets.php file with ('/var/www/project/tests/Featur…rs.php', false) #2 ✓ it can check if dataset is defined inside a Datasets.php file with ('/var/www/project/tests/Featur…ts.php', true) ✓ it computes the dataset scope with ('/var/www/project/tests/Datase…rs.php', '/var/www/project/tests') ✓ it computes the dataset scope with ('/var/www/project/tests/Datasets.php', '/var/www/project/tests') ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…rs.php', '/var/www/project/tests/Features') ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…rs.php', '/var/www/project/tests/Featur…rs.php') #1 ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…ts.php', '/var/www/project/tests/Features') ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…rs.php', '/var/www/project/tests/Featur…ollers') ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…rs.php', '/var/www/project/tests/Featur…rs.php') #2 ✓ it computes the dataset scope with ('/var/www/project/tests/Featur…ts.php', '/var/www/project/tests/Featur…ollers') PASS Tests\Unit\Support\ExceptionTrace ✓ it ensures the given closures reports the correct class name ✓ it ensures the given closures reports the correct class name and suggests the [uses()] function PASS Tests\Unit\Support\HigherOrderMessage ✓ undefined method exceptions PASS Tests\Unit\Support\Reflection ✓ it gets file name from closure ✓ it gets property values PASS Tests\Unit\Support\Str ✓ it evaluates the code with ('version()', '__pest_evaluable_version__') ✓ it evaluates the code with ('version__ ', '__pest_evaluable_version_____') ✓ it evaluates the code with ('version\', '__pest_evaluable_version_') PASS Tests\Unit\TestName ✓ it may start with P with ('P\Tests\BarTest', 'Tests\BarTest') ✓ it may start with P with ('P\Packages\Foo', 'Packages\Foo') ✓ it may start with P with ('P\PPPackages\Foo', 'PPPackages\Foo') ✓ it may start with P with ('PPPackages\Foo', 'PPPackages\Foo') #1 ✓ it may start with P with ('PPPackages\Foo', 'PPPackages\Foo') #2 ✓ test description ✓ test_description ✓ ふ+が+ ✓ ほげ ✓ 卜竹弓一十山 ✓ アゴデヸ ✓ !p8VrB ✓ &xe6VeKWF#n4 ✓ %%HurHUnw7zM! ✓ rundeliekend ✓ g%%c!Jt9$fy#Kf ✓ NRs*Gz2@hmB$W$BPD%%b2U%3P%z%apnwSX ✓ ÀĤ{¼÷ ✓ ìèéàòç ✓ زهراء المعادي ✓ الجبيهه ✓ الظهران ✓ Каролин ✓ অ্যান্টার্কটিকা ✓ Frýdek-Místek" ✓ Allingåbro& ✓ Κεντροαφρικανική Δημοκρατία ✓ آذربایجان غربی ✓ זימבבואה ✓ Belišće ✓ Գվատեմալա ✓ パプアニューギニア ✓ 富山県 ✓ Қарағанды ✓ Қостанай ✓ 안양시 동안구 ✓ Itālija ✓ Honningsvåg ✓ Águeda ✓ Râșcani ✓ Năsăud ✓ Орехово-Зуево ✓ Čereňany ✓ Moravče ✓ Šentjernej ✓ Врање ✓ Крушевац ✓ Åkersberga ✓ บอสเนียและเฮอร์เซโกวีนา ✓ Birleşik Arap Emirlikleri ✓ Німеччина ✓ Nam Định ✓ 呼和浩特 ✓ test /** with comment */ should do PASS Tests\Unit\TestSuite ✓ it does not allow to add the same test description twice ✓ it alerts users about tests with arguments but no input ✓ it can return an array of all test suite filenames PASS Tests\Visual\BeforeEachTestName ✓ description ✓ latest description PASS Tests\Visual\Collision ✓ collision with (['']) PASS Tests\Visual\Help ✓ visual snapshot of help command output WARN Tests\Visual\JUnit ✓ junit output - junit with parallel → Not working yet PASS Tests\Visual\Parallel ✓ parallel ✓ a parallel test can extend another test with same name PASS Tests\Visual\SingleTestOrDirectory ✓ allows to run a single test ✓ allows to run a directory ✓ it disable decorating printer when colors is set to never WARN Tests\Visual\Success - visual snapshot of test suite on success WARN Tests\Visual\TeamCity - visual snapshot of team city with ('Failure.php') - visual snapshot of team city with ('SuccessOnly.php') PASS Tests\Visual\Todo ✓ todos ✓ todos in parallel ✓ todo ✓ todo in parallel WARN Tests\Visual\Version - visual snapshot of help command output Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 24 skipped, 1049 passed (2577 assertions)