メソッドとそのパラメータを置き換えるべきではありませんか?モックビルダーがメソッドのシグネチャを置き換えていません
私はこれがどのように動作するか理解していない、
私はに実行し、問題..私は例-ペーストコピーが、私は箱から出して動作するはずです一つ一つの例でトラブルに遭遇することは方法がないということですパラメータが削除されていないので、メソッドがパラメータとして特定の依存関係を持っている場合、私はそれを模擬メソッドに渡す必要があります。
マニュアルでは、デフォルトではすべてのメソッドが返される空のメソッドヌル。
私は5.7(PHP 5.6)class SomeClass
{
public function doSomething(\Exception $e)
{
// Do something.
}
}
class StubTest extends TestCase
{
public function manualExampleDoesntWork()
{
// Create a stub for the SomeClass class.
$stub = $this->createMock(SomeClass::class);
// Configure the stub.
$stub->method('doSomething')
->willReturn('foo');
// Calling $stub->doSomething() will now return
// 'foo'.
$this->assertEquals('foo', $stub->doSomething());
}
public function ...
{
// Should be enough, doesnt work
$stub = $this->createMock(SomeClass::class);
$stub->doSomething(); // error
// Neither
$stub = $this->createMock(SomeClass::class);
$stub->method('doSomething')
->withAnyParameters()
->willReturn('foo');
$stub->doSomething(); // error
// Same for manually building with the mockbuilder..
}
}
結果を使用してい
:これはほんの一例であるArgument 1 passed to Mock_***95::doSomething() must be an instance of Exception, none given
、私はモックを作成するためのあらゆる可能なバリエーションを試してみた、私の中ですべての結果ではありませんパラメータを置き換えることができます。
私は今、愚かな気持ちになります。 –
あなたは確かにはいけません。私たちが思っているか期待していることとは違ったことがいつも起こります)) – xmike