我一直在努力让PHPunit为我的zend框架项目工作,并遇到了各种各样的问题.我重新安装了PEAR并卸载了PHPunit,并重新安装了它们.
我目前的错误是
demian @ dimbo-TP:〜$ phpunit PHP警告:require_once(PHPUnit/Framework/MockObject/Autoload.php):无法打开流:/usr/share/php/PHPUnit/Autoload.php上没有这样的文件或目录48 PHP致命错误:require_once():无法打开所需的'PHPUnit/Framework/MockObject/Autoload.php'(include_path ='.:/ usr/share/php /:/ usr/local/share/php/library')in第48行的/usr/share/php/PHPUnit/Autoload.php
我使用的是ubuntu 11.10,PHP 5.3.6-13ubuntu3.2
如果有人能给我一些指示,我将非常感激.我在谷歌上看了很多,但似乎没有什么能解决我的问题.
谢谢,
德棉.
这是我的shell转储,它显示了我最近所做的事情:
demian@dimbo-TP:~$ phpunit
The program 'phpunit' is currently not installed. You can install it by typing:
sudo apt-get install phpunit
demian@dimbo-TP:~$ sudo pear channel-discover pear.phpunit.de
[sudo] password for demian:
Channel "pear.phpunit.de" is already initialized
demian@dimbo-TP:~$ sudo pear channel-discover pear.symfony-project.com
Channel "pear.symfony-project.com" is already initialized
demian@dimbo-TP:~$ sudo pear channel-discover components.ez.no
Channel "components.ez.no" is already initialized
demian@dimbo-TP:~$ sudo pear update-channels
Updating channel "components.ez.no"
Channel …Run Code Online (Sandbox Code Playgroud) PHPunit正在运行,但我收到此代码覆盖率错误,并且没有获得代码覆盖率报告.
有谁知道如何解决这一问题?
谢谢,
德棉.
demian@dimbo-TP:/var/www/z2d2/tests$ phpunit
PHPUnit 3.5.15 by Sebastian Bergmann.
...
Time: 1 second, Memory: 13.00Mb
OK (3 tests, 4 assertions)
Generating code coverage report, this may take a moment.PHP Fatal error: Class 'PHP_Token_Stream' not found in /usr/share/php/PHP/Token/Stream/CachingFactory.php on line 68
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:49
PHP 3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP 4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:188
PHP 5. PHP_CodeCoverage_Report_HTML->process() /usr/share/php/PHPUnit/TextUI/TestRunner.php:363
PHP 6. PHP_CodeCoverage_Report_HTML->addItems() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:135
PHP 7. PHP_CodeCoverage_Report_HTML_Node_Directory->addFile() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:214
PHP 8. PHP_CodeCoverage_Report_HTML_Node_File->__construct() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/Directory.php:156
PHP 9. PHP_CodeCoverage_Util::getLinesToBeIgnored() …Run Code Online (Sandbox Code Playgroud) 我确定这很简单。我们有一个对控制器的ajax 调用。该调用传入一个值对 - 一个标识符和一个值。我需要知道标识符的名称以及值,以便我可以这样做:
switch ($identifier) {
case 'country':
//set value for something
break;
case 'region':
//set value for something else
break;
}
Run Code Online (Sandbox Code Playgroud)
我不想传入额外的值,因为它没有必要。
我试过这个,除了令人作呕的复杂代码之外,它没有用!
$requestparams=$this->_request->getParams();
list($controller,$action,$module,$levelpair)=$requestparams;
list ($level,$id)=$levelpair;
Run Code Online (Sandbox Code Playgroud) 我有一个简单的值对数组,如下所示:
array(4) (
[4] => (string) Barcelona
[3] => (string) Cordoba
[1] => (string) Granada
[2] => (string) Jaen
)
Run Code Online (Sandbox Code Playgroud)
我需要将其编码为 JSON 以响应以下格式的 AJAX 请求:
[{"pk": 4, "name": "Barcelona"},
{"pk": 3, "name": "Cordoba"},
{"pk": 1, "name": "Granada"},
{"pk": 2, "name": "Jaen"}]
Run Code Online (Sandbox Code Playgroud)
如果我使用:
json_encode($a)
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
{"4":"Barcelona","3":"Cordoba","1":"Granada","2":"Jaen","0":"Select a province"}
Run Code Online (Sandbox Code Playgroud)
如何让 PHP 格式化我的简单数组以在 JSON 中包含属性?