CircleCI 运行 编译工件的 JUnit 测试
CircleCI Run JUnit Tests on Compiled Artifacts
我在 CircleCI 中使用 Gradle 构建了一个 java 项目。这个 java 项目完全由 Selenium 测试 + 框架组成,运行 在带有 SauceLabs 的预先存在的环境中。我想获取我正在生成的工件(jar 文件)并让其他团队使用它来练习我的测试,作为他们自己的预部署测试过程的一部分,但我不确定如何完成此操作。
对于 运行 JUnit 对 CircleCI 的 jar 文件进行测试,yaml 文件会是什么样子?我花了很多时间在网上寻找答案,但我似乎找不到任何符合这个用例的东西。
我终于想出了如何做到这一点。以下是我的 circle.yml 文件的一些摘录。
- 生成并保存自动化项目中的工件。
compile:
post:
- ./gradlew shadowJar
- mkdir -p $CIRCLE_ARTIFACTS/build/libs
- cp build/libs/* $CIRCLE_ARTIFACTS/build/libs
- 在其他构建项目中下载这些工件
dependencies:
pre:
# Install JQ - used when fetching automation artifacts
- sudo apt-get update; sudo apt-get install jq
- curl "https://circleci.com/api/v1.1/project/github/:org/:project/latest/artifacts?build=master&filter=successful&circle-token=$TOKEN" >> artifacts.txt
- mkdir -p $HOME/automation
post:
# Fetch our UI automation jar
- echo export ART_URL=$(cat artifacts.txt | jq '[.[]? | select(.url | contains("automation-ui-all.jar"))][0] | .url') >> $HOME/.circlerc
- wget -O $HOME/automation/automation-ui-all.jar $ART_URL?circle-token=$TOKEN
- 执行测试
- java -cp $HOME/automation/automation-ui-all.jar Main TEST_ENV=https://test.com
我在 CircleCI 中使用 Gradle 构建了一个 java 项目。这个 java 项目完全由 Selenium 测试 + 框架组成,运行 在带有 SauceLabs 的预先存在的环境中。我想获取我正在生成的工件(jar 文件)并让其他团队使用它来练习我的测试,作为他们自己的预部署测试过程的一部分,但我不确定如何完成此操作。
对于 运行 JUnit 对 CircleCI 的 jar 文件进行测试,yaml 文件会是什么样子?我花了很多时间在网上寻找答案,但我似乎找不到任何符合这个用例的东西。
我终于想出了如何做到这一点。以下是我的 circle.yml 文件的一些摘录。
- 生成并保存自动化项目中的工件。
compile: post: - ./gradlew shadowJar - mkdir -p $CIRCLE_ARTIFACTS/build/libs - cp build/libs/* $CIRCLE_ARTIFACTS/build/libs
- 在其他构建项目中下载这些工件
dependencies: pre: # Install JQ - used when fetching automation artifacts - sudo apt-get update; sudo apt-get install jq - curl "https://circleci.com/api/v1.1/project/github/:org/:project/latest/artifacts?build=master&filter=successful&circle-token=$TOKEN" >> artifacts.txt - mkdir -p $HOME/automation post: # Fetch our UI automation jar - echo export ART_URL=$(cat artifacts.txt | jq '[.[]? | select(.url | contains("automation-ui-all.jar"))][0] | .url') >> $HOME/.circlerc - wget -O $HOME/automation/automation-ui-all.jar $ART_URL?circle-token=$TOKEN
- 执行测试
- java -cp $HOME/automation/automation-ui-all.jar Main TEST_ENV=https://test.com