草庐IT

PHPUnit_Extensions_Database_TestC

全部标签

PHP命令行错误: Timezone database is corrupt

我的date.php是-当我在暂存机器上执行php-fdate.php时,出现错误-PHPFatalerror:date():Timezonedatabaseiscorrupt-thisshould*never*happen!in/home/staging/test/date.phponline2但是当我在我的本地/开发机器上执行相同的操作时,它会起作用。尽管在暂存和本地计算机上,/etc/localtime和/usr/share/zoneinfo/的权限是相同的。但是file/etc/localtime的输出在两台机器上都不同。本地(php5.3.5):/etc/localtime:

php - @setUp 和@tearDown 注解 PHPUnit

我对PHPUnit中的/**@setUp*/和/**@tearDown*/注释有疑问,它只与文档一起使用。我在这里找到了PHPUnit中的各种注释https://phpunit.de/manual/current/en/appendixes.annotations.html但我没有看到@setUp或@tearDown。所以我的问题是,这是Laravel特有的功能还是PHPUnit中的新功能? 最佳答案 @setUp和@tearDown是phpUnit相关的。setUp函数将在您的每个测试之前运行,如果您必须为类中的每个测试初始化​​

php - 创建 PHPUnit 模拟模型使用默认数据库而不是 CakePHP 中的测试

我正在CakePHP2中测试模型并模拟了这样的模型:$this->User=$this->getMock('User',array('_saveUploadedFile','_removeUploadedFile',));$this->User->expects($this->any())->method('_saveUploadedFile')->with($data,Configure::read('App.myDirectory'),true);->will($this->returnValue(true));$this->User->expects($this->any())-

php - 使用 Symfony 和 PHPUnit 桥减少内存使用

从Symfony2.7开始,SymfonyPHPUnitBridge已被创建为从测试中获取弃用通知的好方法(另请参阅associatedSymfonyblogentry)。作为这个包的一部分,垃圾收集也被禁用,这似乎使大型测试套件的内存占用量失控。例如,没有桥:Time:5.01minutes,Memory:964.75MbOK,butincomplete,skipped,orriskytests!Tests:1189,Assertions:2380,Incomplete:2.启用网桥的相同测试套件:Time:4.98minutes,Memory:3003.00MbOK,butinco

php - 如何使用 phpunit 为某些测试套件注入(inject)环境变量?

在phpunit.xml中可以定义环境变量:现在,我想要多个测试套件,而不是一个。我喜欢为每个FOO设置不同的值,所以我想我可以这样做:unitFunctionalunitFunctionalItdoesn'tseempossibletonestphpinsidetestsuiteblock.所以我目前无法为某个测试套件注入(inject)特定变量。我看到的唯一另一个明确的选择是为每种情况定义多个phpunit.xml文件,但这会导致大量代码重复,我想避免。还有其他方法可以将环境变量注入(inject)phpunit测试套件吗? 最佳答案

PHPUnit 测试套件命名约定

PHPUnitmanual突出显示一些约定:类MyClass的测试进入类MyClassTest类MyClassTest存在于文件MyClassTest.phpMyClassTest继承自PHPUnit_Framework_TestCase测试是名为test*的公共(public)方法这将导致类似这样的文件夹结构:├──src/│├──classes/││├──MyClass.php#Different│└──...├──tests/│├──testcases/││├──MyClassTest.php#Different│├──bootstrap.php│└──...└──......和

php - 拉维尔 4.2 : Copying database records from one database to another

我需要在Laravel4.2中将记录的子集从一个数据库复制到另一个数据库我已经编写了一个artisan任务来加载我需要从“默认”数据库连接复制的模型,现在需要将它们保存到第二个数据库连接(在config/database.php中定义)。我找不到任何使用模型的save()方法保存到默认连接以外的数据库的方法。这可能吗?我可以将我的保存“推送”到第二个数据库连接吗?或者我是否需要更改为“拉取”逻辑,反转我的数据库连接定义,并在保存到“默认”连接之前从“第二个”连接加载数据? 最佳答案 首先,您必须在app/conifg/databas

phpunit 从不抛出 "Argument #3 (No Value) of PHPUnit_TextUI_ResultPrinter::__construct() must be a value from "", "auto"或 "always""

我只是在测试Php单元。这是我的DependencyFailureTest类:require_once'../vendor/autoload.php';usePHPUnit\Framework\TestCase;classDependencyFailureTestextends\PHPUnit\Framework\TestCase{publicfunctiontestOne(){$this->assertTrue(false);}/***@dependstestOne*/publicfunctiontestTwo(){}}但是在运行命令phpunit--verboseDependenc

php - 如何在 PHPUnit 测试用例中使用服务器变量?

我正在使用PHPUnit测试用例测试模块。所有的东西都工作正常,但是当我使用$_SERVER['REMOTE_ADDR']时,它会出现fatalerror并停止执行。CategoryControllerTest.phpboot();$this->container=static::$kernel->getContainer();$this->em=static::$kernel->getContainer()->get('doctrine')->getManager();}publicfunctiontestCategory(){$ip_address=$_SERVER['REMOTE

php - 在 PHPUnit 数据提供程序中设置和使用参数

我正在尝试为使用全局参数(来自YML文件)的服务编写测试。我在setUp()方法中检索这些参数,但是当我尝试在@dataProvider中使用它们时,它会抛出错误。classInterpreterServiceTestextendsKernelTestCase{private$container;private$service;private$citiesMap;publicfunctionsetUp(){self::bootKernel();$this->container=self::$kernel->getContainer();$this->service=$this->con