現在、sf 1.4プロジェクトでsfPhpUnitPluginを使用していますが、プラグインのテストに問題があります。同じプラグイン内の異なるアプリケーションに関連する2つのテストスイートをどのように持つことができますか?
私はいくつかのアプリケーションで使用できるプラグインを持っており、アプリケーションごとにテストスイートを用意したいと思います。フィクスチャとテストを特定のアプリケーションと簡単に一致させるために、テストをどのように整理すればよいですか?
testunit:
sfPhpunitPlugin:
filter:
- {path: 'backend', ext: '.php'}
:私は、各アプリケーションのapp.ymlファイルでこのような何かを追加する必要があると仮定し
<?php
class {className} extends sfBasePhpunitTestSuite
implements sfPhpunitContextInitilizerInterface
{
/**
* Dev hook for custom "setUp" stuff
*/
protected function _start()
{
$this->_initFilters();
}
/**
* Dev hook for custom "tearDown" stuff
*/
protected function _end()
{
}
protected function _initFilters()
{
$filters = sfConfig::get('app_sfPhpunitPlugin_filter', array());
foreach ($filters as $filter) {
PHPUnit_Util_Filter::addDirectoryToFilter($filter['path'], $filter['ext']);
}
}
public function getApplication()
{
return '{application}';
}
}
:
マイスイートは、このsfPhpunitPluginで配信されたテンプレートのコピーです
しかし、パスキーがどのように見えるかを判断するのは難しいですが、include_pathにはaddDirectoryToFilter()
が呼び出されたときにテストしているプラグインのパスが含まれていないので、完全パスでなければならないという印象を受けています。 ヒント? まだ誰もこれをしていますか?
アプリケーションは 'getApplication()'メソッドで定義されていますか?あなたの方法では、私は私のアプリ(質問を参照してください)で追加した設定はまだ必要かどうか? – greg0ire
フィルタ機能はアプリケーションコンテキストの設定とは関係ありません。次のプラグインのリリースでは、フィルタの動作がphpunit 3.5のバージョンで変更されたため削除します。 –
プラグインの設定にapp.ymlが使用されていません。代わりに、プラグインにphpunit.ymlという名前のプラグインがあります。 –