新增phpunit

This commit is contained in:
JaguarJack
2020-06-18 10:50:38 +08:00
parent fcc6fd035d
commit 5a198f8f0b
5 changed files with 1814 additions and 2 deletions

View File

@@ -32,7 +32,8 @@
},
"require-dev": {
"symfony/var-dumper": "^4.2",
"topthink/think-trace":"^1.0"
"topthink/think-trace":"^1.0",
"phpunit/phpunit": "^8.5"
},
"autoload": {
"psr-4": {
@@ -43,6 +44,11 @@
"": "extend/"
}
},
"autoload-dev": {
"psr-4": {
"catchAdmin\\tests\\": "tests"
}
},
"config": {
"preferred-install": "dist"
},

1728
composer.lock generated

File diff suppressed because it is too large Load Diff

BIN
logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

31
phpunit.xml Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/feature</directory>
</testsuite>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/unit</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>

49
tests/unit/TrieTest.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
namespace catchAdmin\tests\unit;
use PHPUnit\Framework\TestCase;
use catcher\library\Trie;
class TrieTest extends TestCase
{
protected function getTries()
{
$words = [
'你大爷', '尼玛', 'SB'
];
$trie = new Trie();
foreach ($words as $word) {
$trie->add($word);
}
return $trie->getTries();
}
public function testData()
{
$this->assertEquals([
'你' => ['大' => ['爷' => ['end' => true]]],
'尼' => ['玛' => ['end' => true]],
'S' => ['B' => ['end' => true]],
], $this->getTries());
}
public function testReplace()
{
$string = '你大爷的真尼玛SB';
$this->assertEquals('***的真****',(new Trie())->replace($this->getTries(), $string));
}
public function testHasSensitiveWord()
{
$string = '你大爷的真尼玛SB';
$res = (new Trie())->getSensitiveWords($this->getTries(), $string, false);
$this->assertEquals('你大爷', $res);
}
}