草庐IT

test_register_without_subscriptio

全部标签

php - register_shutdown_function() - 什么是最佳实践?

我目前出于多种目的使用register_shutdown_function()。一种用途是处理fatalerror,另一种用途是记录执行期间使用的资源,如时间、内存使用情况等。目前我注册了两个不同的关闭函数,但在一个测试中只有第一个运行而另一个似乎失败了。现在这当然可以由函数本身的一些错误触发,所以我重写了它,但是是否有可能是使用多个register_shutdown_function调用引起的错误?那么这里的最佳实践是什么,是注册两个不同的函数,还是只调用一个处理不同任务的函数?如果发生fatalerror,让函数加载错误处理类是否也安全(并且可能),还是我应该将功能保留在函数本身中

php - 使用 SPL_AUTOLOAD_REGISTER 时命名空间如何工作?

我今天正在学习如何在PHP中使用命名空间和自动加载,但我似乎遇到了障碍。当我不使用spl_autoload_register而是使用require_once时,事情似乎有效。我的文件夹结构非常简单:-index.php-class/-Users.php在我的index.php文件中我有:在我的class/Users.php文件中我有:这绝对没问题,返回了1的ID理想情况下,我想使用自动加载功能,我发现了spl_autoload_*,这就是我尝试做的,但没有成功:在我的class/Users.php文件中我有:在我的index.php文件中我有:但是我得到一个错误:`Class'User

php - SQLite : GROUP BY without Aggregate

我试图了解GROUPBY在SQLitev2.8.17上的一个奇怪行为代码如下:_db->prepare('SELECTCOUNT(*)AScFROM(SELECTMAX(groupCode)FROMdocsGROUPBYgroupCode)');$selectQuery=$this->_db->prepare('SELECTCOUNT(*)AScFROM(SELECTgroupCodeFROMdocsGROUPBYgroupCode)');$selectMaxQuery->exec();$selectQuery->exec();var_dump($selectMaxQuery->fet

php - 无法进行单元测试 : $_SESSION empties before each test is ran

我无法对我的代码进行单元测试。$_SESSION每次运行下一个测试时都会清除。当我运行testStartProductSession()时,我的对象将一些数据添加到$_SESSION变量。但是当我运行下一个测试方法(testSessionIdIsKept())时$_SESSION再次为空。看起来$_SESSION在单元测试时变成局部变量。我不知道还能做什么。请检查以下输出://session_start()onbootrap.php;classMC_Session_ProductTestextendsPHPUnit_Framework_TestCase{/***@returnMC_Se

PHPUnit RabbitMQ : write test for create connection function

我面临以下问题。我写了一个函数,它在给定所需参数的情况下创建一个连接对象(AMQPConnection)。现在想写相应的单元测试。如果没有运行RabbitMQ代理,我只是不知道该怎么做。这是有问题的功能:publicfunctiongetConnection($hostKey,array$params){$connection=null;try{$connection=newAMQPConnection($params['host'],$params['port'],$params['username'],$params['password'],$params['vhost']);//

php - Laravel 使用自定义命名空间扩展 Illuminate\Foundation\Testing\TestCase

我正在尝试为我的Laravel(5.2)API项目设置单元测试。在使用单元测试之前,我想为它们定义一个自定义命名空间,因此我在默认的TestCase.php文件中创建了namespaceTest;。像这样:namespaceTest;classTestCaseextendsIlluminate\Foundation\Testing\TestCase{...}然后我在tests文件夹下创建了一个文件夹UnitTests并将我的单元测试放在具有以下命名空间的文件夹中:namespaceTest\UnitTests;useTest\TestCase;classCreateAccountTes

php - Zend 框架 : Getting started with Zend_Test

有人成功设置了Zend_Test吗?您的方法是什么?您如何运行测试/测试套件?我已经安装并运行了PHPUnit。现在我正在尝试编写一些简单的Controller测试。ZendFramework文档假定自动加载已设置,我还没有这样做。您使用什么方法自动加载适当的文件?我在我的普通Bootstrap文件中这样做,但我不想用一堆包含和设置路径来弄乱我的测试。抽象Controller测试用例类是否可行?文档使用的bootstrap插件怎么样……是您引导测试的方式,还是您喜欢以不同的方式进行?我想尽可能多地重复使用常规引导文件。我应该如何干燥我的Bootstrap以进行测试和正常使用?到目前为止

PHP-ZendFramework : How to use Zend_Translate without the whole framework?

我正在构建一个简单的PHP网站,并希望将其翻译成2种语言(西类牙语、英语)。我在这里读了一些问题,每个人都推荐Zend_Translate。我读过documentation看起来还不错。我读过我可以在不使用整个框架的情况下使用Zend_Translate组件,只使用那个组件,但我不能。我已经尝试了一切。我下载了框架并将其放在libs子目录中。我已经尝试了几种导入它的方法://Firsttryrequire('libs/Zend/Translate.php');//Fail//Secondtryrequire('libs/Zend/Loader.php');//GoodZend_Load

php - fatal error : uncaught exception without try/catch block

我试图在表单字段为空以及插入查询不成功时抛出异常。我见过有人在没有使用try/catchblock并且没有包含Exceptions类的情况下抛出异常。有谁知道我会怎么做?这是我在没有填写所有字段时遇到的错误:fatalerror:在第94行的/vagrant/web/Assignment4/Person.php中出现未捕获的异常“异常”,消息为“错误:以下字段为空-标题、电话号码、电子邮件”异常:错误:以下内容字段为空-标题、电话号码、电子邮件,位于第94行的/vagrant/web/Assignment4/Person.php调用堆栈:0.00146381681.{main}()/v

php - register_shutdown_function 将引用转换为值?

我正在尝试使用一个关闭函数,该函数使用注册后动态更改的值。我的理解是,通过引用传递变量将允许代码后面部分的更改影响关闭调用。下面的代码证明情况并非如此:我是不是误解了应该怎么做?将引用传递转换为值传递是注册函数的预期行为吗?PHP版本5.5.9 最佳答案 一种可能的解决方案是使用匿名函数(在本例中是一个闭包,捕获了$x作为引用):$x=0;$shutdown=function()use(&$x){echo$x;};register_shutdown_function($shutdown);$x=1;exit();演示:http://