我只想知道我是否可以在吊舱中运行空手道测试。还是对如何运行有什么好的建议?
我尝试在终端中运行空手道测试,并且该测试有效。只想知道我是否可以从Kubernetes pod运行它。 Nginx也运行在吊舱中。
答案 0 :(得分:1)
无论您在外部环境中运行什么,都可以在pod中进行所有操作。 Pod在其中运行容器。
因此,使用docker文件创建docker file
并生成docker image
。使用该docker映像并启动空手道吊舱。
您可以这样编写docker文件
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 /tmp/pom.xml
COPY . /usr/src/app
RUN mvn -B -f /tmp/pom.xml -s /usr/share/maven/ref/settings-docker.xml prepare-package -DskipTests
CMD ["/usr/src/app/maven_runner.sh"]
我在这里找到一个示例:https://github.com/neillfontes/karate-sample
答案 1 :(得分:1)
发布为社区Wiki以供将来使用。
@Harsh Manvar提供了很好的示例,但是,如果仅从Dockerfile进行构建,则会收到错误。您必须下载Github中提到的所有文件。正确的oreder将是:
$ git clone https://github.com/neillfontes/karate-sample.git
$ cd karate-sample
$ docker build -t karate_docker .
建立图像后,您可以检查它:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
karate_docker latest 9dc6d7a5278a About a minute ago 136MB
稍后您可以使用以下方法开始进行测试:
$ docker run karate_docker
START: Running tests...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running demo.DemoTest
11:57:49.684 [main] DEBUG c.i.karate.cucumber.CucumberRunner - init test class: class demo.DemoTest
11:57:50.412 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/get-token.feature
11:57:50.663 [main] DEBUG c.i.karate.cucumber.CucumberRunner - loading feature: /usr/src/app/target/test-classes/demo/features/make-request.feature
11:57:53.898 [main] INFO com.intuit.karate.ScriptBridge - karate.env system property was: null
11:57:54.867 [main] DEBUG c.i.k.h.a.RequestLoggingInterceptor -
1 > POST http://brentertainment.com/oauth2/lockdin/token
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Content-Length: 96