草庐IT

PHPUnit_Invoker

全部标签

PHPUnit stub 抛出异常但不允许被捕获

我正在尝试使用stub测试try/catchblock,该stub在调用特定方法create时抛出异常。它工作正常,引发了异常,但我的应用程序没有捕获它,而是停止了测试的执行。有什么更好的方法可以做到这一点。expects($this->once())->method('create')->will($this->throwException(new\Exception));$service->addEntity($data);?>create($entity);//TestHaltswithException...}catch(Exception$e){//NeverGetsCall

PHPUnit:模拟除某些方法之外的所有方法

我正在编写一个PHPUnit测试,我需要在其中模拟一些依赖关系,但我需要一些方法才能像以前一样工作。即,我有:classDependency{//somestuffnotimportantforthetestpublicfunctionthisOneINeed(){///complexcode}//somemorestuff}所以我在做这样的事情://preparemockobject$dep=$this->getMockBuilder('Dependency')->disableOriginalConstructor()->getMock();//mockoutsomeotherme

PHPUnit - 如何模拟 PDO 准备好的语句

我正在尝试使用PHPUnit对映射器类进行单元测试。我可以轻松模拟将注入(inject)到映射器类中的PDO实例,但我不知道如何模拟PreparedStatement类,因为它是由PDO类生成的。在我的例子中,我扩展了PDO类,所以我有这个:publicfunction__construct($dsn,$user,$pass,$driverOptions){//...parent::__construct($dsn,$user,$pass,$driverOptions);$this->setAttribute(PDO::ATTR_STATEMENT_CLASS,array('Core_

PHP - 有 PHPUnit 的可移植版本吗?

是否有可以与我的网络应用程序捆绑在一起的PHPUnit可移植版本?我希望能够在任何服务器上使用phpunit,同时避免使用PEAR的问题(版本冲突、破坏其他托管应用程序等)。 最佳答案 可移植phpunit(取自https://github.com/sebastianbergmann/phpunit“从GitCheckout使用PHPUnit”)对于phpunit3.5:gitclonegit://github.com/sebastianbergmann/phpunit.gitgitclonegit://github.com/seb

php - 模拟/ stub 一个在 PHPUnit 中实现 arrayaccess 的类的对象

这是我正在为其编写测试套件的类的构造函数(它扩展了mysqli):function__construct(Config$c){//storeconfigfile$this->config=$c;//domysqliconstructorparent::__construct($this->config['db_host'],$this->config['db_user'],$this->config['db_pass'],$this->config['db_dbname']);}传递给构造函数的Config类实现了php内置的arrayaccess接口(interface):class

--coverage-html 时 Phpunit 非常慢

我正在使用Phpunit。如果我只是运行我的测试:phpunit--log-junitoutput.xml这会在一秒钟内运行。但是如果我想要代码覆盖率:phpunit--coverage-html./report--log-junitoutput.xml然后它非常慢,phpunit发送“Configurationreadfrom*.xml”并挂起一分钟,然后开始执行测试 最佳答案 默认情况下,PHPUnit将评估您配置的白名单中所有文件的覆盖率,即使您运行PHPUnit进行单个测试也是如此。如果您的白名单中有很多文件,这会增加代码覆

php - Laravel 5.4 上的示例 PHPUnit 测试失败并返回 404

我可以从以下链接在Laravel5.4上进行我的项目:localhost:8888/streaming_statistic/public我有一个测试:get('/');$response->assertStatus(200);}}我用命令运行所有测试./vendor/bin/phpunit但结果是:PHPUnit5.7.13bySebastianBergmannandcontributors.F1/1(100%)Time:222ms,Memory:12.25MBTherewas1failure:1)Tests\Feature\ApiTest::testBasicTestExpected

php - 如何使用 PHPUnit 对套接字代码进行单元测试?

我目前有一个Socket类,它基本上只是PHP的socket_*函数的OO包装类:classSocket{publicfunction__construct(...){$this->_resource=socket_create(...);}publicfunctionsend($data){socket_send($this->_resource,$data,...);}...}我不认为我可以模拟套接字资源,因为我使用的是PHP的套接字函数,所以现在我对如何可靠地对该类进行单元测试感到困惑。 最佳答案 您似乎遗漏了单元测试思维的一

php - 如何关闭 Laravel 的 PHPUnit 任务中的颜色?

我正在Windows下进行测试,但命令提示符与默认显示的ANSI颜色代码配合不佳。如何在使用Laravel时关闭彩色显示? 最佳答案 文件\laravel\cli\tasks\test\stub.xml用于生成用于测试的PhpUnit配置文件。(每次运行artisan测试任务时都会生成并删除一个新的配置文件。)要关闭颜色,请将stub.xml的第一行从更改为至(对于Laravel3)更新:对于Laravel4,文件是phpunit.xml并位于根文件夹中。改还是设置colors="false".

php - 为什么使用 PHPUnit 比创建自己的测试脚本更好?

查看文档,我发现PHPUnit只提供了这些功能:http://www.phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.assertions所有这些都可以在不到1000行的自定义测试脚本中非常轻松地实现...PHPUnit有2MB的文件(大约200个),其中包含大量的类。此外,PHPUnit仅从命令行运行:(创建我自己的脚本不是更好的主意吗? 最佳答案 PHPUnit是一头野兽。它很大,有时有点违反直觉,并且有缺