当PHPUnit测试在我的开发箱(LinuxMint)上正常失败时,它会在我的持续集成箱(Centos)上导致“段错误”。两台机器都运行相同版本的PHPUnit。我的开发箱运行的是PHP5.3.2-1ubuntu4.9,CI是PHP5.2.17。不过,我宁愿将升级PHP作为最后的手段。根据这个线程:PHPUnitgetssegmentationfault我试过停用/重新安装Xdebug。我没有安装inclue.so。在CI框中,我目前只有两个扩展处于事件状态:来自php-xml的dom(phpunit需要)和memcache(我的框架需要),所有其他的都已关闭。
有没有办法用PHPUnit打印每个测试的执行时间? 最佳答案 添加更多方法:你可以写一个customTestlistener和addittotheXMLfile.在该监听器中,您可以访问$testResult->time().phpunit.xml中的一些行和一个10行的PHP类。没有太多麻烦。classSimpleTestListenerimplementsPHPUnit_Framework_TestListener{publicfunctionendTest(PHPUnit_Framework_Test$test,$time){
有没有办法用PHPUnit打印每个测试的执行时间? 最佳答案 添加更多方法:你可以写一个customTestlistener和addittotheXMLfile.在该监听器中,您可以访问$testResult->time().phpunit.xml中的一些行和一个10行的PHP类。没有太多麻烦。classSimpleTestListenerimplementsPHPUnit_Framework_TestListener{publicfunctionendTest(PHPUnit_Framework_Test$test,$time){
我正在使用引导文件运行PHPUnit以自动加载类(由composer生成)。我所有的测试加载类都很好,但是对于我的两个测试,我做了一个“基础”测试类,它扩展了\PHPUnit\Framework\TestCase(类似于PHPUnit_Framework_TestCase在PHPUnit7之前),然后是两个扩展基类的测试类,结构类似于以下示例代码:abstractclassBaseTestextends\PHPUnit\Framework\TestCase{abstractfunctionsetUp();protectedfunctiongetCommonTestVariables()
我正在使用引导文件运行PHPUnit以自动加载类(由composer生成)。我所有的测试加载类都很好,但是对于我的两个测试,我做了一个“基础”测试类,它扩展了\PHPUnit\Framework\TestCase(类似于PHPUnit_Framework_TestCase在PHPUnit7之前),然后是两个扩展基类的测试类,结构类似于以下示例代码:abstractclassBaseTestextends\PHPUnit\Framework\TestCase{abstractfunctionsetUp();protectedfunctiongetCommonTestVariables()
我想测试一个调用同名父方法的类方法。有没有办法做到这一点?classParent{functionfoo(){echo'bar';}}classChild{functionfoo(){$foo=parent::foo();return$foo;}}classChildTestextendPHPUnit_TestCase{functiontestFoo(){$mock=$this->getMock('Child',array('foo'));//howdoimockparentmethodsandsimulateresponses?}} 最佳答案
我想测试一个调用同名父方法的类方法。有没有办法做到这一点?classParent{functionfoo(){echo'bar';}}classChild{functionfoo(){$foo=parent::foo();return$foo;}}classChildTestextendPHPUnit_TestCase{functiontestFoo(){$mock=$this->getMock('Child',array('foo'));//howdoimockparentmethodsandsimulateresponses?}} 最佳答案
使用ZendFramework1.10和Doctrine2(Beta1)开始一个项目。我在自己的库代码中使用命名空间。生成代码覆盖率报告时,我收到有关重新声明类的fatalerror。为了提供更多信息,我在我的phpunit可执行文件中注释掉了xdebug_disable()调用,这样您就可以看到函数跟踪(禁用局部变量输出,因为输出太多)。这是我的终端输出:$phpunitPHPUnit3.4.12bySebastianBergmann.........Time:4seconds,Memory:16.50MbOK(8tests,14assertions)Generatingcodeco
使用ZendFramework1.10和Doctrine2(Beta1)开始一个项目。我在自己的库代码中使用命名空间。生成代码覆盖率报告时,我收到有关重新声明类的fatalerror。为了提供更多信息,我在我的phpunit可执行文件中注释掉了xdebug_disable()调用,这样您就可以看到函数跟踪(禁用局部变量输出,因为输出太多)。这是我的终端输出:$phpunitPHPUnit3.4.12bySebastianBergmann.........Time:4seconds,Memory:16.50MbOK(8tests,14assertions)Generatingcodeco
我正在尝试创建一个非常标准的单元测试,我在其中调用一个方法并断言它的响应,但是我正在测试的方法在同一个类中调用另一个方法,这会带来一些繁重的工作。我想模拟一个方法,但仍按原样执行我正在测试的方法,仅使用从调用另一个方法返回的模拟值。我已经简化了示例以使其尽可能简单。classMyClass{//Iwanttotestthismethod,butmockthehandleValuemethodtoalwaysreturnasetvalue.publicfunctiontestMethod($arg){$value=$arg->getValue();$this->handleValue($