私がしたかったのは、phpunit.xmlの資格とphpunit.xml.distのテストスイートでした。この設定の問題は、テストが追加されるたびに開発者がそれを自分の個人用のphpunit.xmlに追加する必要があるということです。これを回避するために、私の考えは、テストスイートを.distバージョンから作成することでした。さまざまなバージョンを試してみましたが、私は何が欠けているのか分かりません。ここで私は資格情報にはphpunit.xmlを、テストスイートにはphpunit.xml.distを使用できますか?
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd"
xmlns:xi="http://www.w3.org/2001/XInclude"
bootstrap="cfg/phpunit_autoload.php">
<php>
<var name="DB_DSN" value="mysql:dbname=mysql;host=localhost;port=3306"/>
<var name="DB_USER" value="root"/>
<var name="DB_PASS" value="your_local_pass"/>
<var name="DB_DEFAULTDB" value="mysql"/>
</php>
<xi:include href="tests/phpunit.xml.dist" parse="xml" xpointer="test-suites">
<xi:fallback>
<testsuites id="test-suites">
<testsuite name="MTD">
<directory>tests/app/MTD</directory>
</testsuite>
</testsuites>
</xi:fallback>
</xi:include>
を行うにしようとしていますものですアイデアは、誰かが最初に始める時、彼らは.xmlとしてテスト/からルートに.distファイルをコピーして置き換えるだろうということです彼らの信任状。だから、通常のセットアップの代わりに、.distと.xmlは同じフォルダにあります。プロジェクトのルートには.xmlファイルがあり、/ testsには.distがあります。設定された方法のため、テストスイートはバージョン管理されたファイルから取得できます。そのようにして、新しい検診士が追加された、彼らは誰もが引っ張られるだろう。テストは、構成ファイルとしてバージョン管理されていない.xmlを使用して実行され、testsuites要素は/ testsフォルダ内のバージョン化された.distファイルに含まれます。
私はしかし、考えていたようにフォールバックは機能していないようです。 xml解析は.xmlファイルから.distファイルになるようですが、フォールバックではなくid = "test-suites"要素を返します。代わりに、エラーメッセージは "外部エンティティの読み込みに失敗しました" my_path} /tests/tests/phpunit.xml.dist」。
それが機能していないだろう、なぜ私は、フォールバックのためにdocumentationから表示されません。私のようにphpunit.xmlを保ちやってしまった
私はコンテナやVM内でmysql-devデータベースを実行し、一意のパスワードを使用します'test:test'のように – hek2mgl
それは行く方法かもしれません。 1つの注意点は、私の実際のファイルには、スキーマを自動的に検索して検証するためのプロダクションまたは開発のコピーに接続するためのデータベース資格情報のセットが2つあります。 –