$ composer require --dev kahlan/extra-matcher
To manually register the matchers you want, add them in your kahlan-config.php
config file like in the following example:
use Kahlan\Extra\Matcher\ExtraMatchers;
ExtraMatchers::register(['toBeOneOf', ...]);
Or in case you want to register all matchers, you can simply write:
use Kahlan\Extra\Matcher\ExtraMatchers;
ExtraMatchers::register();
toBeOneOf($expected) // strict comparison
it("passes if $actual is present in $expected", function() {
expect(3)->toBeOneOf([1, 2, 3]);
});
toEqualOneOf($expected) // loose comparison
it("passes if $actual is present in $expected", function() {
expect("3")->toEqualOneOf([1, 2, 3]);
});
toImplement($expected) // object implements expected interface
namespace App\Spec;
it("passes if $actual implements $expected", function() {
interface Foo { }
class Bar implements Foo {}
$actual = new Bar();
expect($actual)->toImplement('App\Spec\Foo');
});