Stub
Stub copied to clipboard
Way to test method call with params
What are you trying to achieve?
Trying to test if method called with my params using Stub utility.
$db = Stub::make(
Connection::className(),
[
'quoteColumnName' => Stub::exactly(2, function($params){
return $params[0];
}),
],
$this
);
What do you get instead?
No way or documentation to do it
Provide console output if related. Use
-vvvmode for more details.
# paste output here
Provide test source code if related
// paste test
Details
- Codeception version:
- PHP Version:
- Operating System:
- Installation type: Phar || Composer
- List of installed packages (
composer show) - Suite configuration:
# paste suite config here
If Stub can't do it, just use $this->createMock() instead.
Tried, but it doesn't work right if i use Stub too and if use only PhpUnit mockery, then code becomes too long and difficult to read.
@antonmarin I was able to implement this using the following technique:
Stub::exactly(2, function ($params) use ($I, $expected) {
$I->assertEquals($expected, $params);
return $params[0];
});
Would be nice to have a handy expectation builder though.