记录下 phpunit 的入门使用方法之setUp和tearDown

可能是太久没写单测了,写个单测发现不符合预期,后来验证下才反应过来
我们来看下demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class 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");
}
}

因为我是想写个重命名的小工具,希望通过setUptearDown做一些文件初始化和清理工作,但是我把两个case的初始化跟清理工作写到了单个setUptearDown中,这样就出现了异常的错误
通过上面的示例代码,可以看到执行结果

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方法前后都执行setUptearDown