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!!!

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

1 Answer 1

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

1
  • 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, 2019 at 7:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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