Определить постоянную в каратэ-нетты - PullRequest
0 голосов
/ 14 ноября 2018

Если бы я сделал что-то вроде:

Feature: Register the account and obtain the jwt

Background:
* url baseUrl
* def email = 'qatest_api_' + String(new Date().getTime()) + '@redacted.com'

Scenario: Register

Given path '/identity/v1/register'
  * request {email: '#(email)', password: '#(password)'}
When method post
Then status 200

Scenario: Obtain jwt

Given url 'https://redacted/oauth/token'
  * request 
"""
  {
    realm: "Username-Password-Authentication",
    grant_type: "http://auth0.com/oauth/grant-type/password-realm",
    username: '#(email)',
    password: '#(password)',
    audience: "https://redacted/userinfo",
    scope: "openid",
    client_id: "redacted",
    client_secret: "redacted"
  }
"""
When method post
Then status 200

Он оценил бы переменную email в обоих сценариях, поэтому в одном случае я получаю что-то вроде qatest_api_1542209546879@redacted.com в 1-м сценарии и qatest_api_1542209545312@redacted.com в 2-м сценарии.

Я бы избежал жесткого кодирования этого значения, если это возможно, я читал о callonce, но не использовал его, звучит забавно иметь отдельный файл для генерации отметки времени.

Я использую каратэ-нетти, у вас есть предложения, как этого добиться? :)

Спасибо!

1 Ответ

0 голосов
/ 14 ноября 2018

callonce спроектирован таким образом, чтобы его можно было размещать на javascript с правой стороны.

Попробуйте это в Background:

* def fun = function(){ return 'qatest_api_' + new Date().getTime() + '@redacted.com' }
* def email = callonce fun

Преимущество наличияВторой файл заключается в том, что он может быть повторно использован в нескольких сценариях, в этом нет ничего плохого:)

...