Commit d136cb05 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Installation et préconfiguration de l'outillage.

No related merge requests found
Showing with 110 additions and 9 deletions
+110 -9
/vendor/
/.idea/
/.php_cs*cache
.phpunit.result.cache
.php_cs.dist 0 → 100644
<?php
$finder = PhpCsFixer\Finder::create()
->exclude('vendor')
->files()
->name('*.php')
->in('.');
return Irstea\CS\Config::create()
->setIndent(' ')
->setLineEnding("\n")
->setFinder($finder);
......@@ -33,12 +33,12 @@
},
"autoload": {
"psr-4": {
"\\Irstea\\MyProject\\": "src/"
"Irstea\\MyProject\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"\\Irstea\\MyProject\\": "tests/"
"Irstea\\MyProject\\Tests\\": "tests/"
}
},
"scripts": {
......@@ -52,9 +52,10 @@
"@test:phpcpd",
"@test:phpmd",
"@test:phpstan",
"@test:phpunit",
"@test:composer-validate",
"@test:composer-require",
"@test:security",
"@test:phpunit"
"@test:security"
],
"phploc": [
"vendor/bin/phploc src tests"
......@@ -70,10 +71,16 @@
"vendor/bin/phpcpd --fuzzy src tests"
],
"test:phpmd": [
"vendor/bin/phpmd src,tests text vendor/irstea/phpmd-config/strict.xml"
"vendor/bin/phpmd src,tests text ./phpmd-ruleset.xml"
],
"test:phpstan": [
"vendor/bin/phpstan analyse"
"vendor/bin/phpstan analyse --ansi --no-progress src tests"
],
"test:phpunit": [
"vendor/bin/phpunit"
],
"test:composer-validate": [
"composer validate"
],
"test:composer-require": [
"vendor/bin/composer-require-checker check"
......@@ -83,14 +90,16 @@
]
},
"scripts-descriptions": {
"test": "Exécute tous les tests en série.",
"fix-cs": "Applique les corrections automatiques de style.",
"phploc": "Calcule des stats sur les sources.",
"test": "Exécute tous les tests en série.",
"test:lint": "Vérifie la syntaxe et le style des sources.",
"test:phpcpd": "Détecte les blocs de code similaires.",
"test:phpmd": "Détecte des défauts de ",
"test:phpmd": "Détecte des défauts de codage.",
"test:phpstan": "Détecte des erreurs de programmation grâce au typage.",
"test:phpunit": "Exécute les tests dynamiques.",
"test:composer-validate": "Vérifie la validité du composer.json.",
"test:composer-require": "Vérifie que les sources n'utilise que des librairies listés dans les dépendances directes.",
"test:security": "Vérifie qu'aucun paquet utilisé n'ait de faille de sécurité signalée."
"test:securit": "Vérifie qu'aucun paquet utilisé n'ait de faille de sécurité signalée."
}
}
<?xml version="1.0"?>
<ruleset name="SYGADE PHPMD rule set"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<rule ref="vendor/irstea/phpmd-config/strict.xml"/>
</ruleset>
includes:
- vendor/irstea/phpstan-config/strict.neon
- vendor/irstea/phpstan-config/phpunit.neon
phpunit.xml 0 → 100644
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.1/phpunit.xsd"
bootstrap="vendor/autoload.php"
executionOrder="depends,defects"
forceCoversAnnotation="true"
beStrictAboutCoversAnnotation="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
verbose="true">
<testsuites>
<testsuite name="default">
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
</phpunit>
<?php declare(strict_types=1);
/*
* Create and customize a file named .docheader at the root of the project to change this message.
*/
namespace Irstea\MyProject;
/**
* La classe MyClass.
*/
class MyClass
{
/**
* @return int
*/
public function getResponse(): int
{
return 42;
}
}
<?php declare(strict_types=1);
/*
* Create and customize a file named .docheader at the root of the project to change this message.
*/
namespace Irstea\MyProject\Tests;
use Irstea\MyProject\MyClass;
use PHPUnit\Framework\TestCase;
/**
* Les tests de la classe MyClass.
*/
class MyClassTest extends TestCase
{
public function testGetResponse(): void
{
$subject = new MyClass();
self::assertEquals(42, $subject->getResponse());
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment