spa*_*tak 4 php phpunit unit-testing
让我们假设我有一个文件 /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;
}
}
Run Code Online (Sandbox Code Playgroud)
我想为上面的类创建一个测试用例,但似乎无法测试它.我陷入了最基本的阶段.
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()));
}
}
Run Code Online (Sandbox Code Playgroud)
无论我做什么,似乎没有办法测试,课程和它的内容.
任何人有任何想法?
小智 11
在测试抽象类时,您可以使用PHPUnit的Mock功能.add方法的示例如下:
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);
}
Run Code Online (Sandbox Code Playgroud)
有关Mocking的更多信息,请参阅PHPUnit手册.
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |