it-swarm-ja.com

単体テスト中にプラグインをインストールする適切な方法は何ですか?

WooCommerceに依存するプラグインをテストしています。統合を適切にテストするには、WordPressテストアプリケーションにWooCommerceをインストールする必要があります。

wp-cliスクリプトを使用して、install_wp_testsを使用してプラグインをインストールしてみました。

wp plugin install woocommerce --activate --allow-root --path=$WP_CORE_DIR

これによりエラーが発生します。

Error: 'wp-config.php' not found.

私が知ることができることから、テスト構成ファイルは/tmp/wordpress-tests-lib/wp-tests-config.phpにあります。 wp-cli docsを読んでも、構成ファイルへのパスを指定する方法はありません。

テストセットアッププロセス中にWooCommerceをインストールするにはどうすればよいですか?

2
Ben Harold

次に、Composerアプローチについて説明します hereSteve Grunwell、開発の依存関係としてWooCommerceをロードするには:

$ composer require --dev --prefer-source woocommerce/woocommerce

彼はいくつかのcomposer.json WooCommerceをベンダーパスの下に移動するなどの調整:

  "extra": {
    "installer-paths": {
      "vendor/{$vendor}/{$name}": [
        "woocommerce/woocommerce"
      ]
    }
  }

生成されたオートローダーにWooCommerceテストを含めます。

  "autoload-dev": {
    "classmap": [
      "vendor/woocommerce/woocommerce/tests/framework"
    ]
  },

composer udpate

次に、記事に記載されているように、bootstrapファイルに対応する調整があります。

GitHubの WooCommerce Custom Orders Table プラグインLiquid Webは、このようなプラグインの良い例です。

このテスト設定は、私の小さなWooCommerce依存プラグインがWC_Unit_Test_Case WooCommerceのテストクラス。

1
birgire