这个问题与此相关SO post
我正在测试一个插件
public function enqueue_scripts() {
$main_style = \'public/scripts/application.js\';
wp_register_script( \'plugin-scripts\', plugin_dir_url( __DIR__ ) . $main_script, array() );
wp_enqueue_script( \'plugin-scripts\' );
}
插件正在使用
composer 和
npm, 因此,它需要为工作而建造。
它是构建的(在我测试它的本地,它在我在VVV上的本地实例中工作)。我写的测试如下
public function test_enqueued_scripts() {
$this->admin->enqueue_scripts();
$this->assertTrue( wp_script_is( \'plugin-scripts\' ) );
}
$this->admin 只是我的enqueue方法所在的类的一个实例
setUp() 方法
测试失败(Failed asserting that false is true), 我想看看出了什么问题,所以我补充道
public function enqueue_scripts() {
$main_style = \'public/scripts/application.js\';
error_log( print_r( plugin_dir_url( __DIR__ ), true ) );
error_log( print_r( __DIR__, true ) );
wp_register_script( \'plugin-scripts\', plugin_dir_url( __DIR__ ) . $main_script, array() );
wp_enqueue_script( \'plugin-scripts\' );
}
然后进行单元测试,我看到
http://example.org/wp-content/plugins/Users/dingo_d/vagrant-local/www/projects/project/public_html/wp-content/plugins/my-plugin/
对于
plugin_dir_url( __DIR__ ), 对于
__DIR__ 我有
/vagrant-local/www/projects/project/public_html/wp-content/plugins/my-plugin/
测试WordPress实例位于一个临时文件夹中,该文件夹类似
/var/folders/xj/14b3w8w51ll6rw09q72p45cr0000gn/T/wordpress/
但是我的插件没有安装在那里。我猜测试只是将其作为核心功能的来源。还有
bootstrap.php 文件正在引用
wordpress-develop 位于我的VVV文件夹中。
我不明白的是为什么我会这样example.org url?如何成功测试脚本的排队/注册?