在单元测试期间安装插件的正确方法是什么?

时间:2019-02-15 作者:Ben Harold

我正在测试一个依赖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?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

然后介绍了作曲家的方法here Steve 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 update
然后对引导文件进行相应的调整,如本文所述。

这个WooCommerce Custom Orders Table GitHub上的插件来自Liquid Web,是此类插件的一个很好的例子。

这个测试设置对我的小WooCommerce插件很有效,它可以扩展WC_Unit_Test_Case WooCommerce的测试课程。

相关推荐

pingbacks testing

关于新wp安装(3.0.4)中PBs的功能测试,我有几个问题:发布帖子时是立即发送pingback,还是将其安排为cron作业?如果后者正确,作业多久运行一次,我可以手动触发它吗?除了将“尝试通知文章中链接到的任何博客”设置为“开”,当然还有帖子内容中指向另一个博客的链接之外,还有其他关于发送PBs的术语吗?(例如,发件人的帖子应该是公开的而不是私有的吗?博客应该是非私有的吗?)出站链接应该放在帖子内容中,还是可以放在帖子的自定义字段中,以便发送PB?如果我的博客中没有发送或接收PBs,那么调试和检测问题