Nefunguje příkaz na testera v projektu
- Tomáš Krucký
- Člen | 5
Ahoj všem,
už třetí den řeším stejný problém a nemůžu přijít na
řešení.
Chtěl jsem vyzkoušet pokrytí kódu v Nette Testerovi s využitím hezkého
výpisu. Zahlásil, že potřebuji rozšíření tak jsem zvolil Xdebug.
Zkoušel jsem různá nastavení v php.ini souboru a stále mi hlásil, že
není použit žádný již zmíněný soubor, i když jsem zadával příkaz
ať si vezme ten s absolutní cestou.
Každopádně, jelikož jsem začátečník a nevím jestli vše dělám
správně, rozhodl jsem se, že vše přeinstaluju jestli jsem neudělal
nějakou botu (PHP, Composer včetně balíčků a Xdebug).
Bohužel, teď to mám ještě v horším stavu, jelikož u projektů před
reinstalací mi příkaz vendor/bin/tester v projektech
funguje, ale u nově vytvořených projektů mi tento příkaz hlásí
“permission denied”.
Předem vám mockrát děkuju za pomoc, já už si vážně nevím rady.
- Tomáš Krucký
- Člen | 5
Používám macOS na procesoru Apple Silicon. Založím nový projekt, třeba composer create-project nette/web-project pokus , otevřu projekt ve VScode, kde zadám příkaz
~/Desktop/test/pokus ✔ 20:48:17
vendor/bin/tester
zsh: permission denied: vendor/bin/tester
Když v adresáři /opt/homebrew/etc/php/8.2 zadám ten stejný příkaz, tak se mi tester v terminálu mimo projekt spustí. Jak už jsem psal, v projektech, které byly založeny před pár dny tak stejný příkaz normálně funguje a v terminálu VSka se mi Tester spustí.
- Tomáš Krucký
- Člen | 5
Super děkuju moc! Moc mi to pomohlo!
Příkaz php vendor/bin/tester
fungoval a když jsem zkusil
nastavit práva, tak funguje i bez php
. Napadá tě, proč před
tím mi to šlo a teď mi to nešlo? V čem asi mohl být problém? Prakticky
jsem jenom provedl přeinstalování všeho (PHP, Composer a Xdebug), tak je
možné, že to na to mělo vliv?
A ještě mám jednu otázku. Věc kvůli které to celé vzniklo. Když se
snažím nastavit funkci
vendor/bin/tester/ --coverage /Desktop/test/pokus/test
tak mi to hlásí:
Note: No php.ini is used.
Error: Code coverage functionality requires Xdebug or PCOV extension or PHPDBG SAPI (used php -n)
Když jsem zkoušel Xdebug nastavit v php.ini tak přesné nastavení tam mám takhle:
[xdebug]
zend_extension=„xdebug.so“
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
Nebo mám ještě něco nastavit? Z návodů na internetu jsem nebyl moc moudrý. Jestli máš nějaký tip budu moc vděčný!
- Tomáš Krucký
- Člen | 5
To jsem právě zkoušel:
/Applications/XAMPP/xamppfiles/htdocs/pokus 22:33:22
vendor/bin/tester -C
PHP 8.2.10 (cli) | php | 8 threads
F
FAILED: RectangleTest.php
Failed: 200.0 should be 200
in pokus/tests/RectangleTest.php(8) Assert::same(200, $rect->getArea()); #
ověříme očekávané výsledky
FAILURES! (1 test, 1 failure, 0.0 seconds)
/Applications/XAMPP/xamppfiles/htdocs/pokus 22:33:33
vendor/bin/tester --coverage /Applications/XAMPP/xamppfiles/htdocs/pokus/tests
Note: No php.ini is used.
Error: Code coverage functionality requires Xdebug or PCOV extension or PHPDBG SAPI (used php -n)
Vždy mi ten příkaz testy spustí, ale php.ini se mi nenastaví. Zkoušel jsem si absolutní cestu mu zadat a žádná změna.
- Tomáš Krucký
- Člen | 5
Už rozumím. Moc děkuju. Tohle mě vážně nenapadlo za ty tři dny udělat. Oběma moc děkuju za pomoc. Byl už jsem hodně z toho frustrovaný. Všechno funguje jak má! 🙂