Equivalent of SimpleTest “partial mocks” in PHPUnit?

前端 未结 3 1696
轮回少年
轮回少年 2021-02-06 22:54

I\'m trying to migrate a bunch of tests from SimpleTest to PHPUnit and I was wondering if there is an equivalent for SimpleTest\'s partial mocks.

Update: I can\'t seem t

3条回答
  •  猫巷女王i
    2021-02-06 23:36

    From reading the linked page, a SimpleTest partial mock seems to be a mock where only some of the methods are overridden. If this is correct, that functionality is handled by a normal PHPUnit mock.

    Inside a PHPUnit_Framework_TestCase, you create a mock with

    $mock = $this->getMock('Class_To_Mock');
    

    Which creates an mock instance where all methods do nothing and return null. If you want to only override some of the methods, the second parameter to getMock is an array of methods to override.

    $mock = $this->getMock('Class_To_Mock', array('insert', 'update'));
    

    will create an mock instance of Class_To_Mock with the insert and update functions removed, ready for their return values to be specified.

    This information is in the phpunit docs.

    Note, this answer shows more up to date code examples, for PHPUnit versions starting 5.4

提交回复
热议问题