记录下 phpunit 的入门使用方法之setUp和tearDown
可能是太久没写单测了,写个单测发现不符合预期,后来验证下才反应过来
我们来看下demo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24class RenameTest extends TestCase
{
public function setUp(): void
{
var_dump("setUp");
}
public function test1()
{
var_dump("test1");
assertEquals(1, 1);
}
public function test2()
{
var_dump("test2");
assertEquals(1, 1);
}
protected function tearDown(): void
{
var_dump("tearDown");
}
}
因为我是想写个重命名的小工具,希望通过setUp
和tearDown
做一些文件初始化和清理工作,但是我把两个case的初始化跟清理工作写到了单个setUp
和tearDown
中,这样就出现了异常的错误
通过上面的示例代码,可以看到执行结果1
2
3
4
5
6
7
8
9
10
11
12
13
14❯ vendor/bin/phpunit
PHPUnit 9.5.25 by Sebastian Bergmann and contributors.
.string(5) "setUp"
string(5) "test1"
string(8) "tearDown"
. 2 / 2 (100%)string(5) "setUp"
string(5) "test2"
string(8) "tearDown"
Time: 00:00.005, Memory: 6.00 MB
OK (2 tests, 2 assertions)
其实就是很简单的会在每个test方法前后都执行setUp
和tearDown