クラスをモックしてメソッドをテストしていますが、必要な戻り値を設定できません。 これが私がやったことです
<?php
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
use Lopo\Payment;
class PaymentTest extends TestCase
{
public $stub;
public function setUp()
{
$this->stub = $this->createMock(Payment::class);
}
public function testProceedPaymentMethod()
{
$this->stub->expects($this->any())->method('proceed')
->will($this->returnValue('fooo'));
var_dump($this->stub->proceed(10)); // not returning fooo
}
}
セットアップ方法なしで試した
createMock
で試した
、
getMockBuilder()
しかし、常に
NULL
を取得指定された戻り値の代わりに。
どうすればこれを解決できますか?
関連した質問
- orchestral/testbench getPackageAliases()がgithubアクションで機能しない
- PHPUnit:別の静的クラスメソッドを使用するクラスメソッドをテストする方法
- データベースから値を返す単体テスト関数
- PHPUnitはテストを見つけられません:symfony 518
- Laravel:ファサードルートが設定されていません
- クローバーXMLレポート:クラスと特性カバレッジ式
- 未定義のプロパティ:laravelユニットテストのmockery_3_app_repositories_articlerepositoryinterface - : $id
- phpunitとcomposerを使用して最小限のphpプロジェクトを簡単に生成するにはどうすればよいですか?
- phpunitテストをドッキングする際のベストプラクティス
あなたは
$this->stub->method('proceed')->willReturn('foo');
が欲しい 。