局限于Java的testng在eclipse中非常强大的手动单测方法这个框框,我试图一直给eclipse安装PHP的测试框架,却发现一直出问题,最后才发觉,PHPUnit的单测思想是直接的脚本测试PHP文件,避免手工的操作。
测试本来就应该自动化,不是吗?所以我接受了PHPUnit的命令行测试方法,而不是在eclipse中手动的右键运行测试。
PHPUnit官网:https://phpunit.de/
使用方法在文档中很明确,加以补充:
1、将PHP的安装目录,加入到Windows的PATH环境变量中
2、任意的建立一个PHP的二进制文件可执行目录,比如c:\bin
3、将c:\bin加入到Windows的PATH环境变量中
4、下载 https://phar.phpunit.de/phpunit.phar 并将文件保存到 C:\bin\phpunit.phar
5、打开命令行(例如,按 Windows+R » 输入 cmd » ENTER)
6、建立外包覆批处理脚本(最后得到 C:\bin\phpunit.cmd):
1
2
3
|
C
:
\
Users
\
username
>
cd
C
:
\
bin
C
:
\
bin
>
echo
@
php
"%~dp0phpunit.phar"
%
*
>
phpunit
.
cmd
C
:
\
bin
>
exit
|
7、新开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit:
1
2
|
C
:
\
Users
\
username
>
phpunit
--
version
PHPUnit
x
.
y
.
z
by
Sebastian
Bergmann
and
contributors
.
|
如果在任意命令行下,执行phpunit不会报错,就说明安装成功了。
做一下测试,编写一个文件,注意下面的namespace和引入PHPUnit的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php
namespace
mytest
;
/**
* test PHPUnit
*
* @author www.crazyant.net
*
*/
class
MyTestClass
extends
\
PHPUnit_Framework_TestCase
{
/**
* Testing the answer to “do you love unit tests?”
*/
public
function
testDoYouLoveUnitTests
(
)
{
$love
=
true
;
$this
->
assertTrue
(
$love
)
;
}
}
|
这个文件放置在C:\tmp\test_phpunit.php
然后打开命令行,执行以下命令,即可完成测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
C
:
\
tmp
>
cd
c
:
\
tmp
C
:
\
tmp
>
phpunit
test_phpunit
.
php
PHPUnit
5.1.3
by
Sebastian
Bergmann
and
contributors
.
.
/
1
(
100
%
)
Time
:
106
ms
,
Memory
:
9.50Mb
OK
(
1
test
,
1
assertion
)
C
:
\
tmp
>
|
既然命令行可以执行测试,那么当然很方便的将测试命令都写到一个自动化的.bat或者.bash文件中,每次开发完成,执行全量的自动测试即可。
PHPUnit官网地址:https://phpunit.de/documentation.html
本文地址:http://www.crazyant.net/1898.html,转载请注明来源。