CircleCI:如何配置测试结果存储?

时间:2018-07-23 21:13:41

标签: junit circleci cypress

我正在CircleCI环境中使用赛普拉斯集成测试。当前,我的CircleCI配置无法将测试报告存储为工件,并且没有包含摘要。屏幕截图和视频已成功存储。我包括了config.yml和CircleCI仪表板的屏幕截图。

我已经查阅了CircleCI文档的以下页面:

并且已经注意到我的问题与"Test Summary Not Populated With Test Results in CircleCI"相似。

任何指针将不胜感激。谢谢!

config.yml

version: 2
jobs:
  build:
    working_directory: ~/nodefront
    docker:
      - image: cypress/base:6
        environment:
          TERM: xterm
    parallelism: 1
    steps:
      - checkout
      - restore_cache:
          name: Restoring cached yarn dependencies
          key: v3-deps-{{ .Branch }}-{{ checksum "yarn.lock" }}
      - run:
          name: Installing dependencies with yarn
          command: |
            yarn install --frozen-lockfile
            yarn list
      - save_cache: 
          name: Caching yarn dependencies
          key: v3-deps-{{ checksum "package.json" }}
          paths:
            - ~/.cache
      - run: mkdir -p integration-tests/test-results/junit integration-tests/cypress/videos integration-tests/cypress/screenshots
      - run:
          name: Running E2E tests with JUnit reporter
          command: $(yarn bin)/cypress run --project ./integration-tests --reporter junit --record --key 77ffe06e-0fe2-4b33-a5ff-4dcdf9e31c91
          environment: 
            MOCHA_FILE: integration-tests/test-results/junit/test-results-[hash].xml
          when: always
      - store_test_results:
          path: integration-tests/test-results
      - store_artifacts:
          path: integration-tests/test-results
      - store_artifacts:
          path: integration-tests/cypress/videos
      - store_artifacts:
          path: integration-tests/cypress/screenshots

屏幕截图 Test summary fails Screenshots and videos succeed

1 个答案:

答案 0 :(得分:0)

好吧,自从我发布存储库以来,已经对存储库进行了一些重大的结构更改...但是我将在此处发布 config.yml 的相关部分。我无法确定要做什么来修复它,但是其中一部分是给赛普拉斯子文件夹( integration-tests )自己的 package.json ,并放入相关脚本在其中,然后使用更干净的 .circleci / config.yml 。我们取出了mkdir语句和环境对象。

test_cypress:
working_directory: ~/theintercept
docker:
  - image: cypress/base:6
    environment:
      TERM: xterm
parallelism: 1
steps:
  - checkout
  - restore_cache:
      name: Restoring cached yarn dependencies
      keys:
        - integration-tests-yarn-dependencies-{{ checksum "integration-tests/yarn.lock" }}
  - run:
      name: Installing dependencies with yarn
      command: |
        cd integration-tests
        yarn install --frozen-lockfile
        yarn list
  - save_cache:
      name: Caching yarn dependencies
      key: integration-tests-yarn-dependencies-{{ checksum "integration-tests/yarn.lock" }}
      paths:
        - ~/.cache/Cypress
        - ~/.cache/yarn
        - ~/theintercept/integration-tests/node_modules
  - run:
      name: Running E2E tests with JUnit reporter
      command: |
        cd integration-tests
        yarn test:record
  - store_test_results:
      path: integration-tests/test-results
  - store_artifacts:
      path: integration-tests/test-results
  - store_artifacts:
      path: integration-tests/test-artifacts