J'ai créé mes propres normes de code de code de code. Ils fonctionnent bien. Maintenant, je veux tester des règles de code de code à l'aide de PHP Unittest. PHPCODESNIFFER a déjà leur cadre pour le cas de test PHPUnit.
Ainsi, en utilisant cela, j'ai étendu leur Mais quand je vais exécuter le script par commande abstractSniffunittest code> et classe de test unitaire à l'emplacement
Normes / TestRules / Testrages / Tests / Fonction / FonctionUnitTest.php Code> et script sur lequel doit être testé dans
Normes / TestRules / Testrules / Testrages / Fonction / Fonction / Code>. P >
phpunit Pear \ php \ tests \ allTestS.php code>, il donne une erreur suivante. p>
PHPUnit 3.5.14 by Sebastian Bergmann.
......................................F
Time: 6 seconds, Memory: 10.00Mb
There was 1 failure:
1) TestRules_Tests_Function_FunctionUnitTest::getErrorList
An unexpected exception has been caught: Source file C:/Program Files/PHP/PEAR/PHP/CodeSniffer/Standards/TestRules/Tests/Function/FunctionUnitTest.inc does not exist
C:\Program Files\PHP\PEAR\PHP\tests\Standards\AbstractSniffUnitTest.php:138
C:\Program Files\PHP\PEAR\PHP\tests\TestSuite.php:48
FAILURES!
Tests: 39, Assertions: 146, Failures: 1.
Warning: Deprecated PHPUnit features are being used 2 times!
Use --verbose for more information.
3 Réponses :
Je vois un espace près de i strong> changer: p>
C: / PROGRAMMES / PHP / PEAR / PHP / CODESNIFFER / TESTRULES / TESTRULES / TESTRES / FONCTION / à p>
C: / PROGRAMMES / PHP / PEAR / PHP / CODESNIFFER / TESTRULES / TESTRULES / TESTRES / FONCTION / i nc code> - assurez-vous que si c'est mal de faute et corrigez-le, cela devrait fonctionner. Autre que cela, je ne vois aucun problème. P>
J'ai reformaté la question de l'affiche et il n'y avait pas d'espace dans inc code>. C'était une ligne qui se termine que le navigateur tourne dans un espace. Je soupçonne que cela a été causé par la sélection du texte dans la console.
@David je l'espère, mais je me demande ce qui pourrait causer ce problème, car les deux fichiers sont au même emplacement et Testrules / tests / fonction / fonction / fonctionUntest.php code> est traité si tel est le cas. , alors il devrait ramasser le fichier
testroles / tests / fonction / fonctionnement / fonctionnement code>.
Merci à vous tous de commenter. Emplacement du fichier réel est C: / PROGRAMMES / PHP / PEAR / PHP / CODESNIFFER / TESTRULES / TESTRULES / TESTRESSE / FUN CTION / FONCTIONNITTE ST.IV Je vous demande également pourquoi ce problème se produit sous forme de dossier.
@ User810130 Pourquoi n'utilisez-vous pas xdebug code> et voyez comment circuler aller & où / comment il essaie d'ajouter
.Inc code> fichier?
Vos fichiers sont vos fichiers dans le haut niveau mais tente d'inclure le fichier de Essayez de déplacer vos deux fichiers dans l'autre répertoire. p> p> tests code> ou
codesNIFFER code>? Notez que le boîtier de test abstrait que vous extension est dans
tests code>
codesNiffer code>: p>
Structure du répertoire est la suivante -CodeSnifer - - TestRules --- TestRules ---- Sniff / Fonction / FonctionsNiff.php ---- Tests / Fonction / FonctionUntest.PHP /-FonctionsUnitest.IP / STESTS --TESTS --TESTS /ABSTRONSNIFFUNITTESTEST.PHP /ALLSNIFFS.PHP Y a-t-il des portées avec la structure de répertoire? J'ai suivi la même convention que PHP-CODESNIFFER UNITESTUITE. N'importe quel pointeur?
Si vous avez suivi le modèle défini par les tests de CODESNIFFER, je m'attendrais à ce que cela fonctionne. Je commencerais en ouvrant la classe qui tente d'inclure votre fichier et de voir où il s'attend à ce que le fichier soit. Il est temps de rouler vos manches et de vous salir vos mains. :)
Il semble qu'il ait un problème de chemin sur Windows. J'ai testé les cas de test sur Linux, cela fonctionne bien. Lorsque j'ai vérifié le code actuel, il semble que, sur une mappage de fichier du fichier de cas de test au fichier Sniff. Mais sur la fenêtre, après mappée de fichier, le chemin de fichier contient le mélange de Slahes avant et arrière. À cause de cela, il renvoie que "le fichier n'est pas trouvé d'erreur". Les cas de test exécutent une amende sur Linux. P>
Veuillez essayer le commutateur
- verbose code> et ajouter la sortie étendue.