使用Codeception在API中模拟外部服务

时间:2016-01-11 09:29:28

标签: codeception

我有API终点:

  

[GET] / car /:carId

实际上是一个控制器动作(CarController :: car($ carId)):

$I->wantTo( 'check if I get correct car data' );
$I->sendGET( '/car/10' );
$I->seeResponseCodeIs( 200 );
$I->seeResponseIsJson();
// Asserting response data, etc
//...
//...

我想编写测试此控制器操作的功能测试,例如:

Name ;Computer

user1 ;Comp1
user2 ;Comp2
user3 ;Comp3
user4 ;Comp4

我可以以某种方式模拟externalVinService类吗?使用单元测试时不会有问题,但在我的场景中我无法找到 这是一个简单的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用AspectMock

其中一项功能是:Create test doubles for class methods called anywhere.

如果您使用框架模块(例如Yii2)模块但不能与PhpBrowser或WebDriver一起使用,则它可以正常工作。