【phpunit】教程文章相关的互联网学习教程文章

使用特定的php版本在phpunit中运行测试【代码】

我在我的Mac上安装了多个PHP版本,并希望针对特定的PHP版本(或针对??多个版本)运行单元测试 这是我的php版本:$php --versionOutput: PHP 5.4.23 ...$/Applications/MAMP/bin/php/php5.2.17/bin/php --versionOutput: PHP 5.2.17 ...我的测试用例如下:function test_php_version() {$actual = phpversion();$expected = '5.2.17';$this->assertEquals( $expected, $actual, 'Wrong PHP version!' ); }当我运行测试时,我收到了这个回...

无论空格如何,PHPUnit都断言相同的HTML结构【代码】

我有一个命令行脚本生成一些HTML,我试图使用PHPUnit进行单元测试.请注意,浏览器看不到此HTML,因此Selenium不是正确的解决方案. 我只关心比较实际的HTML结构.我正在使用assertEquals()但由于各种空格字符,实际字符串可能不完全相同.public function testHtmlIsIdentical() {$expectedReport = file_get_contents('expected.html');$this->report->setupSomeData('test data');$actualReport = $this->report->generateHtml();$this-...

PHP:我如何调整PHPUnit以使用不同的PHP解释器?【代码】

我的系统有两个PHP解释器.一个是捆绑了操作系统,另一个是通过XAMPP包安装的.我的所有PHP扩展都应用于XAMPP安装,但PHPUnit似乎只运行我的机器附带的PHP版本. 有没有人知道我可以配置或重建PHPUnit的方式,以便它只使用我的XAMPP PHP解释器?解决方法:找到你安装PHPUnit的文件夹.应该有一个名为phpunit.bat的文件.它应该有一行类似的东西set PHPBIN="C:\php\php.exe" %PHPBIN% "C:\php\phpunit" %*将其更改为已读set PHPBIN="C:\xampp...

使用PHPUnit在Laravel 5.2中测试命令是一种可接受的方法吗?【代码】

我正在尝试在PHPUnit中为Commands编写测试用例,但没有取得多大成功. 在这一点上,我尝试了许多东西,可能是this post,这是我找到的最接近我的目的.尽管如此,我还是为了让这项工作付出了很多努力. 跟随示例输出:alariva@trinsic ~/timegrid.io/app $phpunit --filter=SendBusinessReportTest PHP Warning: The use statement with non-compound name 'Artisan' has no effect in /home/alariva/timegrid.io/app/tests/unit/Console/...

使用PHPUnit测试PHP头文件【代码】

我正在尝试使用PHPunit来测试输出一些自定义标头的类. 问题是在我的机器上这个:<?phpclass HeadersTest extends PHPUnit_Framework_TestCase {public function testHeaders(){ob_start();header('Location: foo');$headers_list = headers_list();header_remove();ob_clean();$this->assertContains('Location: foo', $headers_list);} }甚至这个:<?phpclass HeadersTest extends PHPUnit_Framework_TestCase {public function t...

PHPunit忽略setup方法中的异常【代码】

我注意到PHPUnit忽略了setUp()方法中抛出的异常,并且即使在setup函数抛出异常时也只是运行测试. 在下面的代码中,异常将被忽略,它下面的代码将不会运行,并且test_method将失败,因为它使用的是未定义的变量.protected $a;public function setUp() {parent:setUp();throw new Exception(); // setup now exits silently.$this->a = new A(); // will never run }public function testA() {$this->assertTrue($this->a->something()); ...

phpunit命令如何进行搜索类测试?【代码】

我用的是Windows.例如,我有一些像这样的结构smth的网站:site/engine/ModelClass.phpwww/index.phptests/ModelCalssTest.php phpunit.bat哪里应该存储phpunit.bat来运行测试ModelClassTest.php?解决方法:您根本不需要存储phpunit.bat.它应该在你的PATH中. 只需通过PEAR安装即可完成.如果您不想这样做并且您在系统上本地拥有它,或者您想要在版本控制中使用phpunit源(有些人想要这样),那么phpunit.bat确实在哪里并不重要.项目根目录...

phpunit和yii – (PHPUnit / Autoload.php):无法打开流:【代码】

使用Yii安装phpunit时遇到很多问题.我跑:$phpunit unit/dbTest.php但事实证明这个错误:PHP Warning: require_once(PHPUnit/Autoload.php): failed to open stream: No such file or directory in /opt/yii-1.1.10.r3566/framework/test/CTestCase.php on line 12 (include_path=’.:/usr/bin:/usr/share/php:/usr/bin/pear:/usr/share/php/Zend/:/opt/php5.3.10/lib/php/PHPUnit’有关我安装的一些细节:$phpunit --version PHPU...

无法使PHPUnit依赖项工作【代码】

我正在开发一个API,但我在编写一些测试用例时遇到了麻烦.我已经编写了一组通用测试用例来测试所有实体.这些包括一般操作,如创建,修改和删除./*** @dataProvider provideCreateData* @depends LoginTest::testLogin*/ public function testCreate/*** @dataProvider provideModifyData* @depends testCreate*/ function testModify数据提供程序提供了一个API实体列表及其各自的属性,测试动态测试所有实体,而无需我们在将来发生更改时...

使用PHPUnit和Selenium错误/警告进行Yii Framework测试【代码】

我正在使用这本书:“使用Yii 1.1和PHP5进行敏捷Web应用程序开发”以开始使用Yii. 在设置我的TDD环境并运行我的第一个测试时,会弹出以下警告:sl@cker:/var/www/demo/protected/tests$phpunit functional/SiteTest.php PHPUnit 3.6.12 by Sebastian Bergmann.Configuration read from /var/www/demo/protected/tests/phpunit.xmlPHP Warning: include(SiteTest: Firefox.php): failed to open stream: No such file or directory ...

使用相同的PHPUnit测试用例测试多个类【代码】

我有非常简单的PHP界面:interface HasFormattableNumber {function setNumber();function setFormat();function formatNumber(); }接下来,我有许多实现此接口的类.不幸的是,这些类不能有一个共同的祖先(可能是一个只实现这些方法一次的抽象祖先).该课程基本上如下:class A implements HasFormattableNumber {private $_number;private $_format;public function setNumber($n) {$this->_number = $n;}public function setFormat(...

PHPUnit,断言html内容【代码】

哪个是用phpunit在html字符串中断言某些内容的最好方法? 在Zend应用程序中,有一些断言断言可用.但是如果你不在Zend应用程序中? assertXml *看起来不合适. 例如,你如何断言标签< div ... id =“myId”...> …< / div>存在于$htmlString中,考虑到更改id属性的位置不会使测试失败?解决方法:我建议你使用一些库解析HTML字符串,然后使用库API来编写断言. 有很多好的HTML / XML解析器,例如: http://symfony.com/doc/current/componen...

如何使用Zend Framework和PHPUnit成功创建项目?【代码】

首先我要说的是,我已将其发布到多个论坛,甚至试图在ZF IRC频道上获得帮助.我一直在谷歌搜索,但仍然没有结果.我过去在这个网站上看过很多Q和A,所以我想我会创建一个帐户并尝试问你. (是的,我搜索了之前提出的问题,但没有一个答案对我有帮助.) 我正在尝试学习如何将Zend Framework用于我加入的新项目.出于兼容性原因,他们使用的是Zend 1(而不是更新的Zend 2).我发现并遵循了许多在线和实体书籍教程,但我一遍又一遍地得到相同的结果. ...

我怎样才能让phpunit不能吞下error_log输出?【代码】

当从phpunit中运行error_log()时,它不会写入正常的错误日志文件.我想停止它,以便它写入文件,好像我是通过浏览器访问PHP.<?phpclass exampleTest extends PHPUnit_Framework_TestCase {public function testSomething() {error_log('This will not be written to the error log, but I wish it was!');$this->assertEquals(2, 1+1);}}我目前使用的是php 5.5版,phpunit 3.7版.在osx和ubunutu上都会发生这种情况.这不会发生在Windows ...

Phpunit,期待一个方法完全运行两次【代码】

class TestMe {public function method() { } }测试:class TestTest extends PHPUnit_Framework_TestCase {public function testA(){$stub = $this->getMock ('TestMe');$stub->expects ($this->exactly(2))->method('method');}public function testB(){$stub = $this->getMock ('TestMe');$stub->expects ($this->exactly(2))->method('method');$stub->method();}public function testC(){$stub = $this->getMock ('TestMe');$...

PHPUNIT - 相关标签