Eu tenho um arquivo de recurso de caratê conforme abaixo -
Feature: Feature file
@env=dev
Scenario: runs only when karate.env is 'dev'
* print 'karate.env is:', env
@envnot=perf,prod
Scenario: never runs in perf or prod
* print 'karate.env is:', env
E definindo o valor env em karate-config.js como abaixo -
var env = karate.env; // get system property 'karate.env'
karate.log('karate.env system property was:', env);
if (!env) {
env = 'dev';
}
karate.log('karate.env system property was:', env);
Mas ao executar a partir do arquivo de recursos ou do runner, karate.env é considerado nulo, a menos que executemos por meio da linha de comando.
09:15:22.988 [main] INFO com.intuit.karate - karate.env system property was: null
09:15:22.988 [main] INFO com.intuit.karate - karate.env system property was: dev
09:15:23.019 [main] INFO com.intuit.karate - [print] karate.env is: dev
Mas executando a partir da linha de comando (mvn test "-Dkarate.env=dev") funciona -
09:16:55.118 karate.env system property was: dev
09:16:55.133 karate.env system property was: dev
09:16:55.165 [print] karate.env is: dev
Os cenários não deveriam ser escolhidos com base no valor env em vez de "karate.env"?