前提・実現したいこと
このようにコントローラーで設定されているAPIの秘密鍵を、テスト用に作成したアカウントの秘密鍵に置き換えたいのですが可能でしょうか?
class PayController extends AppController { private $_XXXSecretKey; public function initialize() { parent::initialize(); $this->_XXXSecretKey = Configure::read('Api.secretKey'); } public function sample(){ *ここで実際に使われるキーを上書きしたい \XXX\XXX::setApiKey($this->_XXXSecretKey);
試したこと
テストユニットのコントローラーへリクエストを投げる部分に、任意で作成した値を入れてみたのですが、テストされる側のコントローラーでレスポンスから秘密鍵を取得している訳ではないので、config/const.phpで設定されている鍵が読み込まれています
$this->_XXXSecretKey = Configure::read('テスト用に作成したアカウントの秘密鍵'); $this->post('/pay/sample', $body, $this->_XXXSecretKey);
ユニットテストをする場合、テストされる側のコントローラーでconfig/const.phpなどの定数設定ファイルから読み込んだ定数を変更することはできず、その部分で変更が必要だった場合は適宜直接書き換えるやり方しかないでしょうか?
補足情報(FW/ツールのバージョンなど)
cakephp3.5
あなたの回答
tips
プレビュー