Karate 空手道:JS函数不';测试在docker容器中运行时不工作
我在docker中运行测试时遇到一些问题。我不确定这是空手道还是docker配置 背景如下:Karate 空手道:JS函数不';测试在docker容器中运行时不工作,karate,Karate,我在docker中运行测试时遇到一些问题。我不确定这是空手道还是docker配置 背景如下: Background: * configure report = { showLog: true, showAllSteps: false } * def ts = call read('classpath:utilities/helper-random-data-js.feature@timestamp') * def timestamp = ts.timestamp
Background:
* configure report = { showLog: true, showAllSteps: false }
* def ts = call read('classpath:utilities/helper-random-data-js.feature@timestamp')
* def timestamp = ts.timestamp
* print "Current timestamp " + timestamp
FROM maven:3-jdk-8-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY settings.xml /usr/share/maven/ref/
COPY pom.xml /usr/src/app
COPY ./src/test/java /usr/src/app/src/test/java
RUN mvn -B -f /usr/src/app/pom.xml -s /usr/share/maven/ref/settings-docker.xml prepare-package -DskipTests
JS位于助手随机数据JS中。feature@timestamp
@timestamp
Scenario: Generate timestamp
* def getDate =
"""
function() {
var unix = Math.round(new Date().getTime()/1000)
return unix;
}
"""
* def timestamp = getDate()
* print timestamp
@test1
Scenario: xxx
Given url my_url
And path 'billing/history/' + user_id
And param startDate = timestamp
When method get
Then status 200
当我通过命令行在本地环境上运行测试时,一切都按预期工作
xx - scenario called at line: 4 by tag: @timestamp
xx - [print] 1614103214
xx - [print] Current timestamp 1614103214
当我使用此测试运行docker容器时,问题开始出现:
docker run空手道\u docker mvn测试-DargLine=“-Dkarate.env=stage”-Dtest=E2eRunner-Dkarate.options=“--tags@test1”
结果,由于时间戳不正确,测试失败
@test1
Scenario: xxx
Given url my_url
And path 'billing/history/' + user_id
And param startDate = timestamp
When method get
Then status 200
结果:
https://xx/billing/history/0000?startDate=1.614103807E9
Docker文件如下所示:
Background:
* configure report = { showLog: true, showAllSteps: false }
* def ts = call read('classpath:utilities/helper-random-data-js.feature@timestamp')
* def timestamp = ts.timestamp
* print "Current timestamp " + timestamp
FROM maven:3-jdk-8-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY settings.xml /usr/share/maven/ref/
COPY pom.xml /usr/src/app
COPY ./src/test/java /usr/src/app/src/test/java
RUN mvn -B -f /usr/src/app/pom.xml -s /usr/share/maven/ref/settings-docker.xml prepare-package -DskipTests
非常感谢您的帮助。如果您升级到1.0系列/RC版本,则应修复此问题
请在此处查找更多详细信息:抱歉,我无法诊断太多问题,因此,如果可以,请遵循此过程:-还可以查看新版本是否有用:我更新为0.9.9.RC4,它可以工作:)JS函数可以正常工作,因此解决方案非常简单。太棒了!请不要投票并接受答案