I’ve never been able to get code coverage to work for my API. I’ve seen quite a few people have problems. Is there actually a way to have API test coverage included in your overall test coverage.
Here is my api.suite.yml
class_name: ApiTester
modules:
enabled:
- REST:
depends: PhpBrowser
part: Json
- Yii2:
part: [orm, fixtures]
configFile: 'config/web.php'
config:
PhpBrowser:
url: http://reporting.local/api/
curl:
CURLOPT_TIMEOUT: 300
Overall codeception.yml
coverage:
c3_url: http://reporting.local/c3.php
enabled: true
#remote: true
include:
- models/*
- controllers/*
...
All these tests pass when I run without --coverage flags.
I’d read many issues on github on how to get them to work and there doesnt seem to be a robust solution.
If I run with coverage flags I start getting errors for some calls.
[GuzzleHttp\Exception\RequestException] cURL error 56: Recv failure: Connection was reset (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Some still pass though, but coverage is always 0%.
I’ve seen some people say the REST mnodule is the problem, I’ve removed that before, but then I get all kinds of errors about missing functions.
Has anyone managed to get this coverage working when doing REST API tests?