小编Jez*_*Jez的帖子

Mockery shouldReceive() - > once()似乎不起作用

我试图让Mockery声明一个给定的方法被调用至少一次.

我的测试类是:

use \Mockery as m;

class MyTest extends \PHPUnit_Framework_TestCase
{

    public function testSetUriIsCalled()
    {
        $uri = 'http://localhost';
        $httpClient = m::mock('Zend\Http\Client');
        $httpClient->shouldReceive('setUri')->with($uri)->atLeast()->once();
    }

}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有一个测试(希望)创建了一个期望setUri将被调用的测试.由于没有涉及任何其他代码,我无法想象它可以调用,但我的测试通过.有谁能解释为什么?

php mockery

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

将Symfony2 LogoutSuccessHandler重定向到原始注销目标

我需要在注销时修改我的用户对象.为此,我有一个security.yml,其中包含以下内容(除其他外) -

#...
    logout:
        success_handler: my.logout_success_handler
        target: /
#...
Run Code Online (Sandbox Code Playgroud)

...这定义了一个注销成功处理程序,它在services.yml中定义,如下所示 -

   my.security.logout_success_handler:
       class: My\Security\LogoutSuccessHandler
       arguments: ["@security.context", "@doctrine.orm.default_entity_manager"]
Run Code Online (Sandbox Code Playgroud)

...最后,我的处理程序的业务端是这样的 -

// ...
public function onLogoutSuccess(Request $request)
{

    $user = $this->securityContext->getToken()->getUser();

    // ... do stuff with the user object....
    $this->em->flush();

    // now what?

}
// ...
Run Code Online (Sandbox Code Playgroud)

那么,它说"现在是什么?" 我知道我需要返回一个Response对象.理想情况下,我希望该响应对象将用户重定向到security.yml中logout.target中定义的任何内容.

有一种简单的方法可以查询吗?或者,更好的是,还有另一种做这种事情的方法,它不需要我参与请求/响应对象吗?

谢谢

php symfony

8
推荐指数
3
解决办法
5916
查看次数

dojo.dnd一次只能输入一个项目

使用dojo.dnd,我想允许用户一次只拖动一个项目,而不是任何任意数字,根据dojo的默认行为.

此时,用户可以按住Ctrl并一次单击多个可拖动项目,然后将它们全部作为一组拖动.我想禁用它,以便用户只能在任何给定时间拖动一个项目.

我正在使用dojo.dnd.Source(),如下所示.

new dojo.dnd.Source(containerNode)
Run Code Online (Sandbox Code Playgroud)

...这使得containerNode的所有子节点都可以拖动.

谢谢.

dojo drag-and-drop

5
推荐指数
1
解决办法
958
查看次数

MySQL相当于MSSQL CONVERT()

我有这个MSSQL片段 -

CONVERT(INT, HASHBYTES('MD5', {some_field}))
Run Code Online (Sandbox Code Playgroud)

...而且我真的很喜欢MySQL等价物.我很确定这HASHBYTES('MD5', ...)一点与MySQL的相同MD5(...)- 这CONVERT(INT, ...)真的令我感到困惑.

谢谢.

mysql sql-server

5
推荐指数
1
解决办法
1154
查看次数

ManyToOne映射与Doctrine和未定义的索引警告

我确信这有一个简单的解决方案,但我无法理解正在发生的事情.我有一个实体,称为Payment等两个实体叫UserHousehold.

A User有很多Payments而且Household有很多Payments.这全部映射为Payment使用YAML的单向manyToOne关系,如此(希望这符合http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/association上的指导)-mapping.html#many-to-one-unidirectional) -

Payment:
  type: entity
  table: payments
  id:
    _id:
      type: integer
      column: payment_id
      generator:
        strategy: AUTO
    manyToOne:
    _user:
      targetEntity: Application_Model_User
      joinColumn:
        name: user_id
        referencedColumnName: payment_id
    _household:
      targetEntity: Application_Model_Household
      joinColumn:
        name: household_id
        referencedColumnName: payment_id
Run Code Online (Sandbox Code Playgroud)

数据库方面,我有三个表users,paymentshouseholds.该payments表具有(除了它的主键之外)两个名为user_id和的列household_id,它们对应于其他两个表的主键.

问题是,当我尝试坚持一个新的时,Payment我从mySql返回一个错误,告诉我该user_idpayments不能为null.一些挖掘已经确定了doctrine正在null为INSERT语句user_idhousehold_idINSERT语句提供.对象图肯定是正确的. …

php doctrine-orm

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

标签 统计

php ×3

doctrine-orm ×1

dojo ×1

drag-and-drop ×1

mockery ×1

mysql ×1

sql-server ×1

symfony ×1