3

たとえば、モデルの単体テストを行っていて、そのモデルで CakePHP の CakeLog 便利なメソッドを使用している場合 (おそらく、予想される例外のテストなど):

CakeLog::warning('This is a warning');

Cake は、テスト中にコマンドラインでこれを出力するだけでなく、logs/error.log にもエラーを追加します。

次の 2 つのいずれかを達成する必要があります。

  1. 単体テスト中はログをオフにする
  2. CakeLog クラスまたはスタブ Model->log() をモックします (Object->log から継承)

精通した CakePHP 開発者は、これら 2 つのことのいずれかをどのように達成するのでしょうか?

関連:DBロギングを使用し、そのようなことが気にならないテストデータベースに上記のロギングを行う...

4

1 に答える 1

3

テストの先頭で、logger_nameストリームへのロギングCakeLog::drop(logger_name);を無効にするように設定します

于 2013-02-23T23:43:47.623 に答える