問題タブ [phpt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPTはコンストラクターを避け、関数を直接ターゲットにします
私は次のクラスを持っています:
errors_func()
最初にコンストラクターを呼び出す必要なく、テスト スクリプトを介して関数を直接ターゲットにしようとしています。PHPT テスト スクリプトは次のとおりです。
ご想像のとおり、クラスのオブジェクトが作成されるときにパラメーターが予期されるため、テスト スクリプトは失敗します。クラス __constructer に引数を渡す必要なく Validation クラスのオブジェクトを作成する方法はありますか?
phpunit - phpunit で *.phpt テストを自己更新しますか?
背景 I: phpunit の *.phpt
*.phpt
最近、PhpUnit のサポートに関する記事を読みました:
https://www.moxio.com/blog/32/start-testing-with-phpt-tests-in-phpunit
ここでの大きな利点:
- phpunit ですぐにサポートされるため、これらのファイルを検出して処理するためのカスタム コードは必要ありません。
- 誰もが同意しているように見える共通のフォーマット。
- 特定の *.phpt を cli パラメーターとして直接指定できます。
典型的な *.phpt ファイルは次のようになります。
背景 II: 自己更新フィクスチャ
それより前に、cli 変数が存在する場合に独自のフィクスチャ ファイルを更新 (= 上書き) できる単体テストについて読みました:
https://tomasvotruba.com/blog/2020/07/20/how-to-update-hundreds -of-test-fixtures-with-single-phpunit-run/
次の cli コマンドは、失敗したテストのフィクスチャの「予期される」部分を上書きします。
次に、git diff を確認し、必要な機能の変更として変更を受け入れるか、動作を修正します。
この記事で提案されているフィクスチャ ファイルの形式は、*.phpt
ファイル形式と非常によく似ていますが、最終的に形式は完全に任意で、プロジェクト固有のものにすることができます。
利点:
- 空の「--EXPECT--」セクションから開始し、この部分を自動的に生成します。
- バグが修正された後、または BC を破る変更が導入されたときなど、動作の変更後にテストを自動的に更新します。
- 動作がまだ安定していない初期の開発中に、フィクスチャを頻繁に更新します。
- cli diff 出力からのコピー/貼り付けはもう必要ありません。
短所:
- phpunit の組み込みサポートはありません。カスタム コードが必要です。複数のプロジェクトで実行したい場合、これはうまくスケーリングしません。
- *.phpt ファイルを cli パラメーターとしてターゲットにすることはできません。
質問
これらの *.phpt テスト ファイルを phpunit で自動更新する組み込みの方法はありますか?
または、おそらくphpunit以外のものを使用する必要がありますか?