vendredi 15 juillet 2016

Laravel 5.1 Mockery expectation ignored while testing controller

I have a Controller depending on a UserManager. This is the controller constructor:

public function __construct(UserManager $manager) {
    $this->manager = $manager;
}

This is the test code.

public function test_something() {
    $this->withoutMiddleware();

    // Setup Input.
    $user = ['email' => 'foo@bar.baz', 'password' => 'pass', 'accessLevel' => 'admin'];

    // Setup expectations.
    $mock = \Mockery::mock("Users\UserManager")->shouldReceive('foo');

    // Bind to container... not sure whether this is needed.
    $this->app->instance("Users\UserManager", $mock);

    // Call action.
    $this->call('POST', 'api/v1/temp/users', ['user' => $user]);
}

I set the expectation on the foo method, which doesn't exists and therefore is not invoked anywhere, however my test won't fail.

Why?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire