0

I'm new at PHPUnit and I'm having a problem when running the test. I noticed that the problem was that I was not including the class I supposed to test so I put the following line:

require '../../files/Cliente.php';

But then it gaves me the next error:

PHP Warning:  require(../../files/Cliente.php): failed to open stream: No such file or directory in /home/esperanza/Escritorio/clasificadosj-clasificados-7da0b31e6060/pruebas/files/ClienteTest.php on line 6

PHP Fatal error:  require(): Failed opening required '../../files/Cliente.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/esperanza/Escritorio/clasificadosj-clasificados-7da0b31e6060/pruebas/files/ClienteTest.php on line 6

My directory structure is the next:

Project
    |_files
      |_Cliente.php
    |_Test
      |_ClienteTest.php

I don't know if I have to configure a XML document or a bootstrap first.

Thanks a lot!

Siguza
  • 21,155
  • 6
  • 52
  • 89

1 Answers1

1

The problem is that you require a file that does not exists. As require will give a fatal error when a file is not found, you get that fatal error. Compare with: Difference between "include" and "require" in php.

Check the path to the file you want to require and correct it:

require __DIR__ . '/../files/Cliente.php';

Make use of the __DIR__ magic constant so that it's easy to specify in a relative fashion to the php-file of the testcase you write while the path is absolute. You then prevent to use the include_path configuration directive which makes it easier to trouble-shoot.

Community
  • 1
  • 1
Ramsay Smith
  • 1,098
  • 13
  • 30
  • Thanks a lot! But what are the bootstrap and the configure XML for? – Sebastián Ulloa Nov 23 '14 at 02:58
  • If it works it works. If it works then you don't need to configure an xml file or bootstrap. – Ramsay Smith Nov 23 '14 at 03:00
  • Where do you see an URL? – Déjà vu Nov 23 '14 at 04:59
  • @SebastiánUlloa: The bootstrap is normally to require all your classes for the testsuite (or an autoloader). As you do it manually you technically don't need a bootstrap but it's perhaps worth to look into it and establish an autoloader: http://php.net/language.oop5.autoload – hakre Nov 23 '14 at 12:45