altocompta/unit-test
2024-01-13 17:17:45 +01:00
..
document/fr_be Unit test : update 2021-05-17 12:54:21 +02:00
include Adaptation PHPUNIT 2024-01-13 17:17:45 +01:00
test-sql TEST : for testing patch files 2023-08-09 13:12:27 +02:00
bootstrap.php.example Fix bug : new document w/o description 2023-01-08 20:22:50 +01:00
create-dossier-test.sh Improve Unit Test for Report 2023-12-05 23:18:17 +01:00
dossier25.sql.gz Improve Unit Test for Report 2023-12-05 23:18:17 +01:00
facility.class.php Adapt PHPUNIT 2021-08-14 16:15:02 +02:00
global.example.php rename user.class.php and User by noalyss_user.class.php and Noalyss_User 2022-10-27 13:36:28 +02:00
global.php Bug #0002219: Compatibilité PHP 8.2 , 8.1 , 8.0 2023-02-01 16:49:24 +01:00
jrn.csv TEST : add new files 2019-11-02 00:56:45 +01:00
README PHPUNIT : adapt test 2022-01-05 15:39:45 +01:00
test-file.sh Fix merge issue 2023-12-08 14:00:32 +01:00

Ce répertoire sert aux tests unitaires avec PHPUNIT, il faut d'abord changer dans le bootstrap.php pour que le path soit correct.
Il faut configurer pour pouvoir l'utiliser :
1 . Activer PHPUNIT, 
2 . dans GLOBAL PATH (propriété du projet) ajouter le fichier phpunit.phar
3. Donner unit-test comme répertoire de test

Base de données 
===============
Une base de données (dossier25.sql.gz) est donnée pour fonctionner avec les tests. Il faut la restaurer vide 
puis exécuter le script avec psql 

voir https://wiki.noalyss.eu/doku.php?id=tutoriaux:restaurer_un_dossier_manuellement

Paramètrage
===========

Pour tester , 

  * installer phpunit et adapter le chemin dans le fichier test-file.php
  * copier  le fichier bootstrap.example.php vers bootstrap.php
  * copier  le fichier global.example.php vers global.php
  * adapter ces 2 fichiers global.php et bootstrap.php


Fichiers 
===========

  * boostrap.example.php , exemple de fichier bootstrap pour phpunit
  * global.example.php , exemple de fichier pour votre environnement : utilisateur et dossier
  * facility.class.php , classe pour des outils utilisables dans vos tests
  * test-file.sh script appelant phpunit 
  * debug-php.sh pour debugguer les tests 

  
Global.php
==========

Donner le dossier
$_REQUEST['dossier']

Utilisateur pour Noalyss
$_SESSION['g_user']='phpcompta';

Mot de passe  pour g_user
$_SESSION['g_pass']='dany';

Bootstrap
=========
Ensuite copier bootstrap.php.example vers bootstrap.php et modifier les variables (le dossier à utiliser, include_path ...)


Testing commande en ligne
=========================

test (depuis repertoire include)
 php <chemin>/phpunit.phar  --tap --colors --bootstrap ../bootstrap.php class_acc_accountTest.php

Tous les fichiers
  for i in *.php;do  php <chemin>/phpunit.phar  --tap --colors --bootstrap ../bootstrap.php $i;done


Génération pour tous les fichiers
=================================
Permet de voir les lignes de code qui ont été testées
php <chemin>/phpunit.phar --coverage-html html --bootstrap bootstrap.php include

exemple depuis NETBEANS "/usr/bin/php" "/home/dany/Program/phpunit-skelgen.phar" "--ansi" "generate-test" "--bootstrap=/home/dany/developpement/phpcompta/noalyss/unit-test/bootstrap.php" "View_SQL" "/home/dany/developpement/phpcompta/noalyss/include/lib/view_sql.class.php" "View_SQLTest" "/home/dany/developpement/phpcompta/noalyss/unit-test/include/lib/view_sql.classTest.php"

Note développeur
================
Pour avoir tous les fichiers à inclure
--------------------------------------
Depuis ici, faites

cd ../include 

find class lib -type f | awk '{print "require_once NOALYSS_INCLUDE.--/"$1"--;";}'|sed -e 's/--/"/g' >> ../unit-test/bootstrap.php