gpt4 book ai didi

php - 如何使用 PHPunit 测试抽象类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:46 24 4
gpt4 key购买 nike

假设我在 /var/www/project/calculator.class.php

有一个文件

这是类

namespace App/Module/Calculator; 

abstract class calculator{

static property $add;

static property $result;

function add($val_a, $val_b){
return $a + $b;
}

}

我想为上面的类创建一个测试用例,但似乎无法测试它。我停留在最基本的阶段。

require '/var/www/project/calculator.class.php';

class CalculatorTest extends \PHPUnit_Framework_TestCase {

public function testAbstactDatabaseClassExists()
{

$this->assertEquals(is_object('Database'), 1);
$this->assertEquals(true, in_array('Calculator', get_declared_classes()));

}

}

无论我做什么,似乎都没有办法测试类(class)及其内容。

有人知道吗?

最佳答案

测试抽象类时,可以使用PHPUnit的Mock特性。添加方法的示例如下:

public function testAdd() {
/* @var $calculator \App\Module\Calculator\calculator|\PHPUnit_Framework_MockObject_MockObject */
$calculator = $this
->getMockBuilder('App\Module\Calculator\calculator')
->getMockForAbstractClass();

$result = $calculator->add(13, 29);
$this->assertEquals(42, $result);
}

有关 Mocking 的更多信息,请参阅 PHPUnit manual .

关于php - 如何使用 PHPunit 测试抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24099338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com