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測試,並說值將測試中使用。