PHPUnitのテストの書き方 超入門
いままで書いたことなかったのでメモ。
<?php
require_once 'ContractStartEvent.php';
//
// PHPUnit_Framework_TestCase を継承して
// テスト用クラスを作る
//
class ContractTest extends PHPUnit_Framework_TestCase {
//
// テスト用メソッドは、prefixにtestと付ける。
//
public function testCreate() {
$contractModel = new Contract();
// モックインスタンスを作成する。
// 引数には実際に実装しているクラスを指定する。
$paymentApiClient = $this->createMock(PaymentApiClient);
// モックにsettle関数と戻り値を追加する。
$paymentApiClient->method('settle')->willReturn(array('result' => true));
$args = array(
'start_at' => '2021-06-01T00:00:00+09:00'
);
$contract = $contractModel->create($args, array('paymentApiClient' => $paymentApiClient));
// テスト実行
$this->assertEquals($contract['start_at'], '2021-06-01T00:00:00+09:00');
}
}