0
我们如何在测试中使用字符串替换和变量?我怀疑这是常见的,我根本不知道在哪里看。实施例试验:在代码测试中使用变量
$I = new ApiTester($scenario);
$I->wantTo('Get Stuff');
$I->amHttpAuthenticated('myuser', 'mypass');
$I->haveHttpHeader('Content-Type', 'application/json');
$I->haveHttpHeader('Custom-Header', 'friendlycorp');
$I->sendGet('/a/path/that/contains/variables');
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
每个REST API位置被测试使用不同的值,并且还取决于服务的URL变化被测试。所以,也许是这样的:
$I->amHttpAuthenticated('{USERNAME}', '{PASSWORD}');
$I->sendGet('/a/path/{SERVICE_ID}/and/{SOMETHING_ELSE}/and/such');
$I->haveHttpHeader('Custom-Header', '{SERVICE_ID}');
我希望这个配置文件可以再定义{} SERVICE_ID并取决于REST API服务的位置,我的测试,其他变量{}功能的喜欢。例如:
FriendlyCorp:
SERVICE_ID: friendlycorp
SOMETHING_ELSE: foo
USERNAME: myuser
PASSWORD: mypass
OpenExample:
SERVICE_ID: openexample
SOMETHING_ELSE: bar
USERNAME: myuser2
PASSWORD: mypass2
然后执行codeception时,我会选择在其上运行FriendlyCorp或OpenExample测试,并说值将测试中使用。