Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]testy phpUnit
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Zainstalowałem phpunit i chciałbym uruchomić je przez polecenie phpunit plik.php
Ale mam problem ze wczytaniem plików, bo kiedy wczytuje ścieżkię ze znakami "/" mam błąd, non such file or directory.
Dopiero gdy zmienię ścieżki na znak "\" zaczyna działać, to ma chyba związek z tym że phpunit korzysta z PEARa.
Ale to i tak w końcu się zatrzymuje i nie wczytuje pliku.
zmienianie ścieżek jest mi nie po drodze, gdyż wtedy nie działa mi projekt.
Znaki "/" i "\" wykorzystuję w funkcji require_once.

To jest kod w pliku test.php:
  1. namespace My\Test;
  2.  
  3. use PHPUnit\Framework\TestCase;
  4. use My\Lib\Model\BreakerModel;
  5. use My\Lib\Main;
  6.  
  7. require_once('..\Vendor\autoload.php');
  8.  
  9. spl_autoload_register(function ($class){
  10. if ($class == 'PhpParser\Autoloader') {
  11. return;
  12. }
  13. require_once('./Lib/autoload.php');
  14. $autoload = new \Autoload();
  15.  
  16. require_once $autoload->parseNamespaceToPath($class);
  17. });
  18.  
  19. final class Model_Entity_Test extends PHPUnit_Framework_TestCase {}


Jak wczytać poprawnie pliki phpUnit?
Go to the top of the page
+Quote Post
trzczy
post
Post #2





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

Ostrzeżenie: (0%)
-----


W tym kodzie test.php która linia powoduje błąd i jaka jest treść błędu?
Go to the top of the page
+Quote Post
Crash89
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Cytat(trzczy @ 28.02.2018, 18:38:24 ) *
W tym kodzie test.php która linia powoduje błąd i jaka jest treść błędu?



Fatal error: require_once(): Failed opening required './Lib/autoload.php' (include_path='D:\xampp\htdocs\BreakWork\Vendor/phpunit/php-code-coverage; itd.
on line 15

kiedy zmienię to na '..\Lib\autoload.php'
Działa ale nie wczytuje wtedy najważniejszego pliku TestCase i muszę te ścieżki wtedy zmieniać w klasie Autoload a to powoduje błędy w projekcie.

Ten post edytował Crash89 28.02.2018, 19:01:11
Go to the top of the page
+Quote Post
trzczy
post
Post #4





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

Ostrzeżenie: (0%)
-----


Na pewno? Linia 15 jest pusta.


Co do tych ukośników to może to pomoże https://stackoverflow.com/a/9302382/5673289

Ten post edytował trzczy 28.02.2018, 19:19:08
Go to the top of the page
+Quote Post
Crash89
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Cytat(trzczy @ 28.02.2018, 19:09:13 ) *
Na pewno? Linia 15 jest pusta.


Co do tych ukośników to może to pomoże https://stackoverflow.com/a/9302382/5673289


Nie w tym problem, chodzi o linie 13
W całym projekcie ten require działa, tylko w phpunit nie.
Go to the top of the page
+Quote Post
trzczy
post
Post #6





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

Ostrzeżenie: (0%)
-----


require to jest funkcja czystego php i nie ma związku z phpunit
Go to the top of the page
+Quote Post
Crash89
post
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Cytat(trzczy @ 28.02.2018, 20:43:09 ) *
require to jest funkcja czystego php i nie ma związku z phpunit


Ok, to może zadam pytanie inaczej, jak wczytać klase PHPUnit_Framework_TestCase
dajmy na to gdyby kod wyglądał tak:

  1. namespace My\Test;
  2.  
  3. use PHPUnit\Framework\TestCase;
  4. use My\Lib\Model\BreakerModel;
  5. use My\Lib\Main;
  6.  
  7. final class Model_Entity_Test extends PHPUnit_Framework_TestCase {}


autoloader composera jest w ścieżce './Vendor/autoload.php'; ale to nie wystarcza.
a test case w sciezce ./Vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php.

Ten post edytował Crash89 1.03.2018, 15:35:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.08.2025 - 02:25