小编Sri*_*hsa的帖子

Zend_Test_PHPUnit_Constraint_DomQuery :: evaluate()的声明应该与PHPUnit_Framework_Constraint :: evaluate()的声明兼容

我正在尝试使用PHPUnit 3.6.4对我的Zend Framework应用程序进行单元测试.我在命令提示符中尝试此命令时出现以下错误.

C:\xampp\htdocs\testsample\tests>phpunit --configuration phpunit.xml
PHPUnit 3.6.4 by Sebastian Bergmann.

Configuration read from C:\xampp\htdocs\testsample\tests\phpunit.xml

?[31;1mE?[0m?[31;1mE?[0m..

Time: 0 seconds, Memory: 10.00Mb

There were 2 errors:

1) IndexControllerTest::testIndexWithMessageAction
Declaration of Zend_Test_PHPUnit_Constraint_DomQuery::evaluate() should be compatible         
with that of PHPUnit_Framework_Constraint::evaluate()

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\Constraint\DomQuery.php:40
C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:512
C:\xampp\htdocs\testsample\tests\application\controllers\IndexControllerTest.php
:14
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:925
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:787
C:\xampp\php\PEAR\PHPUnit\Framework\TestResult.php:649
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:734
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:772
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:745
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:705
C:\xampp\php\PEAR\PHPUnit\TextUI\TestRunner.php:325
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:187
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:125
C:\xampp\php\phpunit:44

2) IndexControllerTest::testIndexNoMessageAction
Declaration of Zend_Test_PHPUnit_Constraint_ResponseHeader::evaluate() should be
 compatible with that of PHPUnit_Framework_Constraint::evaluate()

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\Constraint\ResponseHeader.php:400

C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:769
C:\xampp\htdocs\hive\library\Zend\Test\PHPUnit\ControllerTestCase.php:769
C:\xampp\htdocs\testsample\tests\application\controllers\IndexControllerTest.php
:22
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:925
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:787
C:\xampp\php\PEAR\PHPUnit\Framework\TestResult.php:649
C:\xampp\php\PEAR\PHPUnit\Framework\TestCase.php:734
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:772
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:745
C:\xampp\php\PEAR\PHPUnit\Framework\TestSuite.php:705
C:\xampp\php\PEAR\PHPUnit\TextUI\TestRunner.php:325
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:187
C:\xampp\php\PEAR\PHPUnit\TextUI\Command.php:125
C:\xampp\php\phpunit:44 …
Run Code Online (Sandbox Code Playgroud)

php phpunit zend-framework

12
推荐指数
1
解决办法
2859
查看次数

Express JS重定向到默认页面而不是"无法获取"

我正在使用快速JS,我有一组路由,我已经定义如下

require('./moduleA/routes')(app);
require('./moduleB/routes')(app);
Run Code Online (Sandbox Code Playgroud)

等等.如果我尝试访问我在上述路线中未定义的任何路线,请说

http://localhost:3001/test
Run Code Online (Sandbox Code Playgroud)

它说

Cannot GET /test/
Run Code Online (Sandbox Code Playgroud)

但不是这样,我想重定向到我的应用程序的索引页面.我希望这个重定向发生在所有未定义的路由上.我怎样才能做到这一点?

node.js express

11
推荐指数
1
解决办法
1万
查看次数

在Node.js中使用Jasmine测试子进程.send

我有一个具有a main-process.js和a 的Node.js应用程序child-process.js.

main-process.js如下所示:

var childProcess = require('child_process');
var job = childProcess.spawn('node', ["child-process.js"], {
  detached = true,
  stdio: ['ipc']
});
Run Code Online (Sandbox Code Playgroud)

child-process.js做了一些任务并通知父进程有关其状态,它使用:

exports.init = function() {
   //some processing here
   process.send({status: 'success or pending'});
}
Run Code Online (Sandbox Code Playgroud)

现在我想child-process.js使用jasmine-node进行单元测试,但是当我init()从规范中调用方法时,jasmine-node会抛出一个错误:

TypeError: Object #<process> has no method 'send'
Run Code Online (Sandbox Code Playgroud)

有没有办法模拟process变量?换句话说,我该如何对这种情况进行单元测试?

javascript testing unit-testing node.js jasmine-node

10
推荐指数
1
解决办法
565
查看次数

AWS node.js SDK 错误 - SignatureDoesNotMatch:签名已过期

Node.js 版本 0.10.25

AWS 开发工具包版本 latest - 2.0.23

我有一个持续侦听队列 (SQS) 的应用程序,如果该队列中发布了消息,该应用程序将读取消息并处理它并将一些数据保存到 S3。当我在大约 20 分钟后启动应用程序时,我不断收到以下错误。

Potentially unhandled rejection [160] SignatureDoesNotMatch: Signature expired: 20141104T062952Z is now earlier than 20141104T062952Z (20141104T064452Z - 15 min.)
at Request.extractError (/myproject/node_modules/aws-sdk/lib/protocol/query.js:39:29)
at Request.callListeners (/myproject/node_modules/aws-sdk/lib/sequential_executor.js:100:18)
at Request.emit (/myproject/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/myproject/node_modules/aws-sdk/lib/request.js:604:14)
at Request.transition (/myproject/node_modules/aws-sdk/lib/request.js:21:12)
at AcceptorStateMachine.runTo (/myproject/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /myproject/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/myproject/node_modules/aws-sdk/lib/request.js:22:9)
at Request.<anonymous> (/myproject/node_modules/aws-sdk/lib/request.js:606:12)
at Request.callListeners (/myproject/node_modules/aws-sdk/lib/sequential_executor.js:104:18)
Run Code Online (Sandbox Code Playgroud)

这不是我的系统时间问题。我的系统时间与我的 EC2 实例的时间同步。为什么我收到这个错误?它与SQS或S3有关吗?

amazon-web-services node.js aws-sdk

5
推荐指数
2
解决办法
1969
查看次数

CanCan - "user"参数为nil - Rails 4

我正在使用Rails 4.0.1和ruby 2.1.1.我正在尝试将cancan与rails_admin集成.我application_controller.rb看起来像这样

helper_method :current_user

private

def current_user
  @current_user ||= User.find_by(email: session[:user_id]) if session[:user_id]
end 
Run Code Online (Sandbox Code Playgroud)

我的current_user帮助方法从应用程序的其余部分正常工作.我ability.rb看起来像这样

class Ablity
  include CanCan::Ability

   def initialize(user)
     if user
       can :access, :rails_admin
     end
   end
end
Run Code Online (Sandbox Code Playgroud)

控制根本不在if条件内,这意味着"user"参数为"nil".当我尝试访问rails_admin时,我得到一个CanCan::AccessDenied异常.我哪里错了?

编辑:我没有使用设计进行身份验证

更新:我已经cancancancancan1.8版取代了.还是行不通

ruby ruby-on-rails cancan rails-admin ruby-on-rails-4

4
推荐指数
1
解决办法
544
查看次数