您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit-phpunit.xml-phpunit-extensions
发布时间:2021-10-23 22:05:49编辑:雪饮阅读()
phpunit的phpunit.xml配置文件的phpunit元素的extensions元素以下就简称extensions。
<extensions> 元素
父元素:<phpunit>
<extensions> 元素及其 <extension> 子元素可用于注册测试执行器扩展。
<extension> 元素
父元素:<extensions>
<arguments> 元素
父元素:<extension>
<arguments> 元素可用于配置单个 <extension>。
接受类型的元素的列表,该列表用于配置各个扩展。参数会按照在配置中定义的顺序被传递给扩展类的 __constructor 方法。
可用类型:
· <boolean>
· <integer>
· <string>
· <double>(浮点数)
· <array>
· <object>
那么具体的实例有:
phpunit.xml:
<phpunit bootstrap="src/autoload.php">
<extensions>
<extension class="MyListener" file="D:\phpstudy_pro\WWW\phpunitLearning\extensions\src\MyListener.php">
<arguments>
<array>
<element key="0">
<string>Sebastian</string>
</element>
</array>
<integer>22</integer>
<string>April</string>
<double>19.78</double>
<null/>
<object class="stdClass"/>
</arguments>
</extension>
</extensions>
</phpunit>
这里的arguments元素中的6个参数,且每个参数类型不同,这些参数将注入到extension元素中所指定的MyListener的类中,那么这个类就必须存在一个构造函数,该构造函数有6个形参,且和上面传入的这6个参数类型一一对应。
则有MyListener.php:
<?php declare(strict_types=1);
use \PHPUnit\Runner\Hook;
class MyListener implements Hook{
public function __construct($arg1,$arg2,$arg3,$arg4,$arg5,$arg6){
$argList=compact("arg1","arg2","arg3","arg4","arg5","arg6");
var_dump($argList);
}
}
?>
那么接下来我随便执行一个测试用例类进行测试,只要加载了上面的这个phpunit.xml则上面这个构造中所打印的传入的6个参数就都能够打印出来的:
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe D:\phpstudy_pro\WWW\phpunitLearning\extensions\phpunit-9.5.10.phar -c D:\phpstudy_pro\WWW\phpunitLearning\extensions\phpunit.xml D:\phpstudy_pro\WWW\phpunitLearning\extensions\tests\MyTest.php
D:\phpstudy_pro\WWW\phpunitLearning\extensions\src\MyListener.php:6:
array(6) {
'arg1' =>
array(1) {
[0] =>
string(9) "Sebastian"
}
'arg2' =>
int(22)
'arg3' =>
string(5) "April"
'arg4' =>
double(19.78)
'arg5' =>
NULL
'arg6' =>
class stdClass#17 (0) {
}
}
PHPUnit 9.5.10 by Sebastian Bergmann and contributors.
.
MyTest::testOne
.
MyTest::testTwo
. 3 / 3 (100%)
MyTest::testThree
Time: 00:00.057, Memory: 22.00 MB
OK (3 tests, 3 assertions)
关键字词:phpunit,extensions
相关文章
- phpunit-phpunit.xml-phpunit-groups
- phpunit-phpunit.xml-phpunit-logging
- phpunit-phpunit.xml-phpunit-php-files
- phpunit-phpunit.xml-phpunit-testsuites-testsuite-f
- phpunit-phpunit.xml-phpunit-testsuites-testsuite-d
- phpunit-phpunit.xml-phpunit-testsuites-testsuite-d
- phpunit-phpunit.xml-phpunit-testsuites-testsuite-d
- phpunit-phpunit.xml-phpunit-testsuites-testsuite-d
- phpunit如何生成代码覆盖率?“No filter is configured
- phpunit-phpunit.xml-testsuites、testsuite