web-dev-qa-db-ja.com

WordPressでの適切な単体テスト

WordPressの単体テストに利用できるさまざまなスレッドがあります。懸念する限り、WordPressで行われたカスタマイズのすべての部分に対して適切な単体テストがあるはずです。

私はいくつかのプラグインと同じことについての記事をチェックしました。これがいくつかあります。

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

さて、PHP unitを使えば、必要に応じてテストケースを書くことができます。テストケースはコア機能とカスタマイズのために書くことができます。

ヘビープラグインを使ったテーマの自動単体テストとカスタマイズ、つまりMega Menu、Visual composer、Woo Commerceでのカスタマイズについてはどうですか。

どのようにこれを行うことができますか?プレミアムテーマと高度なカスタマイズを備えたプラグインを使用して開発された、サイトの単体テストの標準はありますか?

あなたが探しているものは、実際には技術的に機能テスト統合テスト、または受け入れテストと呼ばれると思います。コード自体の各ユニットではなく、Webサイトのフロントエンド(またはプラグインやテーマのフロントエンドの動作)のbehaviorをテストしたいようです。 PHPUnitなどのツールを使用してPHPコードをテストし、QUnitなどのツールを使用してJSコードをテストできますが、Webサイト(またはプラグイン/テーマ)の実際の動作をテストするには別のツールが必要です機能)統合された全体として。

残念ながら、WordPressの分野での受け入れテストはまだかなり新しいです。それを行うプラグインまたはテーマはいくつかありますが、「コア」メソッドはありません(ただし、 trac ticket#3469 を参照してください)。コンセンサスの「ベストプラクティス」ツールがまだ登場しているとは限りません。そのため、WordPress固有のツールに関する限り、これはまだ調査中の領域です。 (私自身も、WordPressプラグインの受け入れテストをまだ検討し始めています。)

ただし、受け入れテスト用のツールは数多くありますが、WordPressを念頭に置いて特別に構築されたわけではありません。そしてそれは大丈夫です。なぜなら、サイトのフロントエンドの動作をテストするとき、バックエンドを動かしているものはそれほど重要ではないからです。したがって、スクラッチで構築されたサイトでテストを実行できるツールは、おそらくWordPressサイトまたは他のサイトでも非常にうまく機能します。

WordPressはPHPで記述されており、テストにPHPUnitを使用する傾向があるため、このためには Codeception が自然な選択です。単体テスト(PHPUnitを使用)、機能テスト、受け入れテストを作成できるフレームワークであり、1つのコマンドで実行できます。おそらくこれはあなたが探している種類のものだと思います。その場合は、おそらく WP Browser もチェックアウトする必要があります。これは、Codeception用のWordPress固有の拡張機能のセットです。

If受け入れテストWordPressプラグイン用の新しいツールがありますが、それはCodeceptionかもしれません。しかし、私の知る限り、これはほとんどのWordPress開発者の間ではまだ若いことなので、今後何が起こるかを見て待つ必要があります。とにかく飛び込んで使用を開始することをためらわないでください。たぶんトレンドを設定するでしょう!


更新2017-12-12

WordPointsプラグインのテストにWP Browserを使用 でしたが、満足しています。また、 Travis CIでWPブラウザー受け入れテストを実行する方法を示すリポジトリ を設定しました。 WordPressエコシステムには事実上の標準はまだありませんが、Codeception + WPブラウザーは依然として最も顕著なオプションの1つです。

8
J.D.