我正在尝试使用Codeception 2.1.6运行数据驱动的测试。
这是我提供的代码。
<?php
use Codeception\Specify;
$this->specify("should calculate square numbers", function ($number, $square) {
$this->assertEquals($square, $number * $number);
}, ['examples' => [[2, 4], [3, 9]]]);
这是我得到的错误:
Codeception PHP Testing Framework v2.1.6
Powered by PHPUnit 4.8.23 by Sebastian Bergmann and contributors.
PHP Fatal error: Using $this when not in object context in C:\dev\tests\acceptance\TutorialCest.php on line 5
我不确定如何解决这个问题。有什么建议吗?
答案 0 :(得分:0)
您的代码必须位于类的方法内才能访问$ this 使用类的另一个原因是Codeception \ Specify是一个特征。
所以你不能使用无类Cept格式,并且必须在https://github.com/Codeception/Specify示例中使用的测试格式和http://codeception.com/docs/02-GettingStarted#Cept-Cest-and-Test-Formats中记录的Cest格式之间进行选择
如果您不知道$必须在课堂内使用,我建议您阅读PHP对象和课程:http://php.net/manual/en/language.oop5.php