강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yong802118198
yong802118198

câu hỏi đã được viết

Bài kiểm tra mùa xuân hoàn thành trong một ngày với Juju

Kiểm tra MySQL

github action 통합 테스트 build 오류 건

Viết

·

593

0

안녕하세요 🙂

github action build 시 오류가 발생하여 해결 방안을 찾고자

질문 내용을 작성했습니다.

-- IntegrationTest.class

package com.dnd.gooding.integration;

import java.io.File;
import java.time.Duration;
import java.util.HashMap;
import java.util.Map;
import org.junit.Ignore;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional;
import org.testcontainers.containers.DockerComposeContainer;
import org.testcontainers.containers.wait.strategy.Wait;

@Ignore
@Transactional
@SpringBootTest
@ContextConfiguration(initializers = IntegrationTest.IntegrationTestInitializer.class)
public class IntegrationTest {

  static DockerComposeContainer rdbms;

  static {
    rdbms =
        new DockerComposeContainer(new File("infra/test/docker-compose.yml"))
            .withExposedService(
                "local-db",
                3306,
                Wait.forLogMessage(".*ready for connections.*", 1)
                    .withStartupTimeout(Duration.ofSeconds(180L)))
            .withExposedService(
                "local-db-migrate",
                0,
                Wait.forLogMessage("(.*Successfully applied.*)|(.*Successfully validated.*)", 1)
                    .withStartupTimeout(Duration.ofSeconds(180L)));

    rdbms.start();
  }

  static class IntegrationTestInitializer
      implements ApplicationContextInitializer<ConfigurableApplicationContext> {

    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
      Map<String, String> properties = new HashMap<>();
      String rdbmsHost = rdbms.getServiceHost("local-db", 3306);
      Integer rdbmsPort = rdbms.getServicePort("local-db", 3306);

      properties.put(
          "spring.datasource.url", "jdbc:mysql://" + rdbmsHost + ":" + rdbmsPort + "/gooding");

      TestPropertyValues.of(properties).applyTo(applicationContext);
    }
  }
}

-- GoodingApplicationTest.class

class GoodingApplicationTest extends IntegrationTest {

  @Test
  void contextLoads() {
  }
}

-- Github Action 스크립트

name: Pull Request Test

on:
  pull_request:
    types: [opened, synchronize, reopened]

permissions: read-all

jobs:
  build-test:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - name: Git Checkout
        uses: actions/checkout@v3.0.2

      - uses: dorny/paths-filter@v2
        id: changes
        with:
          filters: |
            application:
              - 'build.gradle'
              - 'src/**'

      - name: JDK 설치
        if: steps.changes.outputs.application == 'true'
        uses: actions/setup-java@v3
        with:
          distribution: zulu
          java-version: 17
          cache: 'gradle'

      - name: Gradle Build
        if: steps.changes.outputs.application == 'true'
        run: |
          chmod +x ./gradlew
          ./gradlew build --parallel

-- Github Action 오류 발생

캡처.PNG혹시 해당 오류의 원인을 알 수 있을까요..?? ㅠ

 

감사합니다 ㅠ

springdockerjunitmockito소프트웨어-테스트

Câu trả lời 1

1

HH님의 프로필 이미지
HH
Người đặt câu hỏi

해결했습니다! 감사합니다 :)

혹시 어떻게 해결했는지 알려주실 수 있을까요 ? ㅠㅠㅠㅠ

Hình ảnh hồ sơ của yong802118198
yong802118198

câu hỏi đã được viết

Đặt câu hỏi