0

我有一个使用 Maven (Java) 构建的测试项目。我可以手动从 IntelliJ 执行测试,也可以从命令行通过编写mvn test.

我将项目放在 CircleCI 上,它生成了一个 yml 文件。它也能够在管道上执行测试,一开始没有任何问题

然后我做了一些愚蠢的事情。最初的测试是在这个根目录中:src/main/java/api/test. 但我决定将测试类移动到这个根:src/test/java/api.

我做这个更改是因为src/test/java实际测试文件夹是在您创建 Maven 项目时自动创建的。(另一个测试文件夹是我手动创建的,所以我认为这不是最佳实践,因此决定将测试类移动到src/test/java. 基本上我所做的是,我创建了一个名为apiunder的包src/test/java并将测试类移动到这个包。之后我删除了 src/main/java/api/test 因为它现在是空的。

在此更改之后,我没有发现任何问题。我仍然可以从 IntelliJ 或通过mvn test命令从命令行运行测试。但是在我提交更改后,我只是检查了管道并看到了这个:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.793 

我的项目仍在 CircleCI 上构建和测试,但它显然不执行测试类。我不知道为什么会这样。我检查了 yml 文件,没有任何与路径相关的内容,并且它之前工作过。这是我的 yml 文件:

# Use the latest 2.1 version of CircleCI pipeline process engine. 
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1

jobs:
  # Below is the definition of your job to build and test your app, you can rename and customize it as you want.
  build-and-test:  
    # These next lines define a Docker executor: https://circleci.com/docs/2.0/executor-types/
    # You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
    # Be sure to update the Docker image tag below to openjdk version of your application.
    # A list of available CircleCI Docker Convenience Images are available here: https://circleci.com/developer/images/image/cimg/openjdk
    docker:
      - image: cimg/openjdk:11.0
    steps:
      # Checkout the code as the first step.
      - checkout
      # Use mvn clean and package as the standard maven build phase
      - run:
          name: Build
          command: mvn -B -DskipTests clean package
      # Then run your tests!
      - run:
          name: Test
          command: mvn test

workflows:
  # Below is the definition of your workflow.
  # Inside the workflow, you provide the jobs you want to run, e.g this workflow runs the build-and-test job above.
  # CircleCI will run this workflow on every commit.
  # For more details on extending your workflow, see the configuration docs: https://circleci.com/docs/2.0/configuration-reference/#workflows
  sample: 
    jobs:
      - build-and-test

正如我所说,在我移动测试类之前,同一个 yml 文件工作正常。现在它可能无法找到我的测试文件。这里可能是什么问题,我该如何解决?任何帮助表示赞赏。

4

0 回答 0