1

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.com/unit-tests-wordpress-plugins-setting-up-testing-suite/

Thank you for any help!!!

  • 1
    I have the same problem on Windows. Can't find much info on this anywhere. – Robin Mar 27 '17 at 22:18
  • I recently switched to MacOS for all WordPress development. Have not figured it out on Windows yet either. – Mauro Bringolf Apr 15 '17 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 Jun 7 '17 at 21:36
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

  • How about Linux or MacOS ? I am using Mac OS and saw this issue. Do you know how to fix it ? – Le Khiem Jul 8 at 7:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.