- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
지능형 테스트 러너는 dd-java-agent >= 1.27.0
에서 지원됩니다.
지원되는 테스트 프레임워크는 다음과 같습니다.
지능형 테스트 러너를 설정하기 전에 자바(Java)용 테스트 가시성을 설정하세요. 에이전트를 통해 데이터를 보고하는 경우 v6.40 이상 또는 v7.40 이상을 사용하세요.
You, or a user in your organization with the Intelligent Test Runner Activation (intelligent_test_runner_activation_write
) permission, must activate the Intelligent Test Runner on the Test Service Settings page.
설정이 완료되면 평소처럼 테스트를 실행합니다.
./gradlew cleanTest test -Dorg.gradle.jvmargs=\
-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar=\
dd.civisibility.enabled=true,\
dd.env=ci,\
dd.service=my-java-app
MAVEN_OPTS=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar=\
dd.civisibility.enabled=true,\
dd.env=ci,\
dd.service=my-java-app \
mvn clean verify
지능형 테스트 러너의 동작을 재정의하여 특정 테스트가 건너뛰지 않도록 할 수 있습니다. 이러한 테스트를 건너뛸 수 없는 테스트라고 합니다.
지능형 테스트 러너는 코드 검사 데이터를 사용하여 테스트를 건너뛰어야 하는지 여부를 결정합니다. 경우에 따라 이 데이터만으로는 결정을 내리는 데 충분하지 않을 수 있습니다.
예를 들면 다음과 같습니다:
건너뛸 수 없는 테스트는 다음 버전 및 테스트 프레임워크에서 지원됩니다.
테스트 케이스에 datadog_itr_unskippable
값이 포함된 JUnit Tag
을 추가하여 건너뛸 수 없는 테스트로 표시합니다.
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Tags;
import org.junit.jupiter.api.Test;
public class MyTestSuite {
@Test
@Tags({@Tag("datadog_itr_unskippable")})
public void myTest() {
// ...
}
}
테스트 스위트(suite)에 datadog_itr_unskippable
값이 포함된 JUnit Tag
을 추가하여 건너뛸 수 없는 테스트로 표시합니다.
스위트(suite)를 건너뛸 수 없는 스위트로 표시하면, ITR은 해당 스위트(suite)의 테스트 케이스 중 어떤 것도 건너뛸 수 없습니다.
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Tags;
import org.junit.jupiter.api.Test;
@Tags({@Tag("datadog_itr_unskippable")})
public class MyTestSuite {
@Test
public void myTest() {
// ...
}
}
테스트 케이스에 datadog_itr_unskippable
값이 포함된 JUnit Category
을 추가하여 건너뛸 수 없는 테스트로 표시합니다.
모든 테스트 케이스 또는 테스트 스위트(suite)에 대해 datadog_itr_unskippable
를 생성할 필요는 없습니다. 전체 프로젝트용 카테고리 하나만 생성해도 충분합니다.
import org.junit.Test;
import org.junit.experimental.categories.Category;
public class MyTestSuite {
@Category(datadog_itr_unskippable.class)
@Test
public void myTest() {
// ...
}
public interface datadog_itr_unskippable {}
}
테스트 스위트(suite)에 datadog_itr_unskippable
값이 포함된 JUnit Tag
을 추가하여 건너뛸 수 없는 스위트(suite)로 표시합니다.
모든 테스트 케이스 또는 테스트 스위트(suite)에 대해 datadog_itr_unskippable
를 생성할 필요는 없습니다. 전체 프로젝트용 카테고리 하나만 생성해도 충분합니다.
스위트(suite)를 건너뛸 수 없는 스위트로 표시하면, ITR은 해당 스위트(suite)의 테스트 케이스 중 어느 것도 건너뛸 수 없습니다.
import org.junit.Test;
import org.junit.experimental.categories.Category;
@Category(MyTestSuite.datadog_itr_unskippable.class)
public class MyTestSuite {
@Test
public void myTest() {
// ...
}
public interface datadog_itr_unskippable {}
}
테스트 케이스에 datadog_itr_unskippable
값이 포함된 그룹을 추가하여 건너뛸 수 없는 테스트로 표시합니다.
import org.testng.annotations.Test;
public class MyTestSuite {
@Test(groups = "datadog_itr_unskippable")
public void myTest() {
// ...
}
}
테스트 스위트(suite)에 datadog_itr_unskippable
값이 포함된 그룹을 추가하여 건너뛸 수 없는 스위트(suite)로 표시합니다.
스위트(suite)를 건너뛸 수 없는 스위트로 표시하면, ITR은 해당 스위트(suite)의 테스트 케이스 중 어느 것도 건너뛸 수 없습니다.
import org.testng.annotations.Test;
@Test(groups = "datadog_itr_unskippable")
public class MyTestSuite {
@Test
public void myTest() {
// ...
}
}
테스트 케이스에 datadog_itr_unskippable
값이 포함된 spock.lang.Tag
을 추가하여 건너뛸 수 없는 테스트로 표시합니다.
import spock.lang.Specification
import spock.lang.Tag
class MyTestSuite extends Specification {
@Tag("datadog_itr_unskippable")
def myTest() {
// ...
}
}
테스트 스위트(suite)에 datadog_itr_unskippable
값이 포함된 spock.lang.Tag
을 추가하여 건너뛸 수 없는 스위트(suite)로 표시합니다.
스위트(suite)를 건너뛸 수 없는 스위트로 표시하면, ITR은 해당 스위트(suite)의 테스트 케이스 중 어느 것도 건너뛸 수 없습니다.
import spock.lang.Specification
import spock.lang.Tag
@Tag("datadog_itr_unskippable")
class MyTestSuite extends Specification {
def myTest() {
// ...
}
}
gherkin 시나리오에 datadog_itr_unskippable
태그를 추가하여 건너뛸 수 없는 시나리오로 표시합니다.
Feature: My Feature
@datadog_itr_unskippable
Scenario: My Scenario
# ...
gherkin 기능에 datadog_itr_unskippable
태그를 추가하여 건너뛸 수 없는 시나리오로 표시합니다.
기능을 건너뛸 수 없는 기능으로 표시하면, ITR은 해당 기능의 시나리오 중 어떤 것도 건너뛸 수 없습니다.
@datadog_itr_unskippable
Feature: My Feature
Scenario: My Scenario
# ...
다음과 같이 datadog_itr_unskippable
값이 포함된 Tag
를 생성하여 테스트 케이스를 태깅합니다.
import org.scalatest.Tag
import org.scalatest.flatspec.AnyFlatSpec
object ItrUnskippableTag extends Tag("datadog_itr_unskippable")
class MyTestSuite extends AnyFlatSpec {
"myTest" should "assert something" taggedAs ItrUnskippableTag in {
// ...
}
}
추가 유용한 문서, 링크 및 기사: