Codeception以及如何使用数据驱动库指定

时间:2016-03-03 21:22:58

标签: php codeception

我正在尝试使用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

我不确定如何解决这个问题。有什么建议吗?

1 个答案:

答案 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