最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

plugins - Error when setting up phpunit tests with wp-cli scaffold

matteradmin8PV0评论

I am trying to figure out the setup for unit tests for wordpress plugins. I am using Ubuntu. So far I have:

  • Local WordPress Installation
  • WP-CLI up and running
  • Installed phpunit
  • used wp scaffold command to generate unit test files

When I now try and run the phpunit command I get the following error:

PHP Warning:  require_once(/tmp/wordpress//wp-includes/class-       phpmailer.php): failed to open stream: No such file or directory in  /tmp/wordpress-tests-lib/includes/mock-mailer.php on line 2

PHP Fatal error: require_once(): Failed opening required '/tmp/wordpress//wp-includes/class-phpmailer.php' (include_path='.:/usr/share/php:/usr/share/pear') in /tmp/wordpress-tests-lib/includes/mock-mailer.php on line 2

This is my wp --info:

PHP binary: /usr/bin/php5
PHP version:    5.6.11-1ubuntu3.4
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.0.0

I am trying to follow this tutorial:

/

Thank you for any help!!!

I am trying to figure out the setup for unit tests for wordpress plugins. I am using Ubuntu. So far I have:

  • Local WordPress Installation
  • WP-CLI up and running
  • Installed phpunit
  • used wp scaffold command to generate unit test files

When I now try and run the phpunit command I get the following error:

PHP Warning:  require_once(/tmp/wordpress//wp-includes/class-       phpmailer.php): failed to open stream: No such file or directory in  /tmp/wordpress-tests-lib/includes/mock-mailer.php on line 2

PHP Fatal error: require_once(): Failed opening required '/tmp/wordpress//wp-includes/class-phpmailer.php' (include_path='.:/usr/share/php:/usr/share/pear') in /tmp/wordpress-tests-lib/includes/mock-mailer.php on line 2

This is my wp --info:

PHP binary: /usr/bin/php5
PHP version:    5.6.11-1ubuntu3.4
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.0.0

I am trying to follow this tutorial:

https://pippinsplugins/unit-tests-wordpress-plugins-setting-up-testing-suite/

Thank you for any help!!!

Share Improve this question asked Dec 15, 2016 at 20:16 Mauro BringolfMauro Bringolf 1772 silver badges7 bronze badges 3
  • 1 I have the same problem on Windows. Can't find much info on this anywhere. – Robin Andrews Commented Mar 27, 2017 at 22:18
  • I recently switched to MacOS for all WordPress development. Have not figured it out on Windows yet either. – Mauro Bringolf Commented Apr 15, 2017 at 16:03
  • I've found that the tutorial cited lacks some key instructions, only one of which I've figured out. It does not say to install svn (subversion) before starting. Once I did that I had to run the lines that call svn co... by hand. What is not at all made clear and remains unknown is how the tutorial's database knows their plugin is installed. When I checked my test database it had none of the settings of an activated plugin. Tutorial may be necessary but is insufficient for testing. – geoB Commented Jun 7, 2017 at 21:36
Add a comment  | 

1 Answer 1

Reset to default 1

If you're on Windows, open wp-tests-config.php and change the ABSPATH with absolute path to your TEMP folder. For example:

define( 'ABSPATH', 'C:\Users\{User}\AppData\Local\Temp/wordpress/' );

I changed this and phpunit worked! This code is on line 7 in %TEMP%/wordpress-tests-lib/wp-tests-config.php

Post a comment

comment list (0)

  1. No comments so far