From 073e5c955dcb85244601049fa71141a82aa96221 Mon Sep 17 00:00:00 2001 From: Jinho Yim Date: Sat, 28 Jun 2025 16:51:33 +0900 Subject: [PATCH 1/2] Add @LogResolution annotation --- .../logging-for-object-resolution.mdx | 53 ++++++++++++------- .../logging-for-object-resolution.mdx | 53 ++++++++++++------- 2 files changed, 70 insertions(+), 36 deletions(-) diff --git a/docs/features/logging-for-object-resolution.mdx b/docs/features/logging-for-object-resolution.mdx index 76101ad..2d05c94 100644 --- a/docs/features/logging-for-object-resolution.mdx +++ b/docs/features/logging-for-object-resolution.mdx @@ -8,9 +8,9 @@ import { version } from '../data.json'; # Logging for Object Resolution -AutoParams provides detailed logging capabilities that help you understand how objects are being resolved during test execution. The resolution log is printed to standard output during test execution, making it easy to trace how each value is generated. +AutoParams provides detailed logging capabilities that help you understand how objects are being resolved during test execution. To enable logging, apply the `@LogResolution` annotation to your test method alongside `@AutoParams`. When enabled, the resolution log is printed to standard output during test execution, making it easy to trace how each value is generated. -For example, resolving a `User` class now produces a detailed trace. Given the following class: +For example, resolving a `User` class produces a detailed trace. Given the following class: ```java @@ -23,37 +23,54 @@ public class User { private final String username; } ``` +```kotlin +class User( + private val id: UUID, + private val email: String, + private val username: String +) +``` Running the following code: ```java -ResolutionContext context = new ResolutionContext(); -User user = context.resolve(); +@Test +@AutoParams +@LogResolution +void testMethod(User user) { +} +``` +```kotlin +@Test +@AutoKotlinParams +@LogResolution +fun testMethod(user: User) { +} ``` Will print a hierarchical visualization of the resolution process: ```text -> Resolving for: class your.app.User -|-- > Resolving for: interface autoparams.generator.ConstructorResolver -| |-- > Resolving for: interface autoparams.generator.ConstructorExtractor -| | < Resolved(<1 ms): autoparams.generator.DefaultConstructorExtractor@5807ea46 for: interface autoparams.generator.ConstructorExtractor -| < Resolved(<1 ms): autoparams.generator.CompositeConstructorResolver@305289b3 for: interface autoparams.generator.ConstructorResolver +> Resolving: for class your.app.User +|-- > Resolving: for interface autoparams.generator.ConstructorResolver +| |-- > Resolving: for interface autoparams.generator.ConstructorExtractor +| | < Resolved(<1 ms): autoparams.generator.DefaultConstructorExtractor@5807ea46 for interface autoparams.generator.ConstructorExtractor +| < Resolved(<1 ms): autoparams.generator.CompositeConstructorResolver@305289b3 for interface autoparams.generator.ConstructorResolver | -|-- > Resolving for: Parameter java.util.UUID id -| < Resolved(<1 ms): 2c792f91-2fb8-41c0-a7af-5bda64192949 for: Parameter java.util.UUID id +|-- > Resolving: for Parameter java.util.UUID id +| < Resolved(<1 ms): 2c792f91-2fb8-41c0-a7af-5bda64192949 for Parameter java.util.UUID id | -|-- > Resolving for: Parameter java.lang.String email -| |-- > Resolving for: class autoparams.generator.EmailAddressGenerationOptions -| | < Resolved(<1 ms): EmailAddressGenerationOptions[domains=["test.com"]] for: class autoparams.generator.EmailAddressGenerationOptions -| < Resolved(1 ms): bab83e7b-bb56-4acb-aef4-ee7b4db24121@test.com for: Parameter java.lang.String email +|-- > Resolving: for Parameter java.lang.String email +| |-- > Resolving: for class autoparams.generator.EmailAddressGenerationOptions +| | < Resolved(<1 ms): EmailAddressGenerationOptions[domains=["test.com"]] for class autoparams.generator.EmailAddressGenerationOptions +| < Resolved(1 ms): bab83e7b-bb56-4acb-aef4-ee7b4db24121@test.com for Parameter java.lang.String email | -|-- > Resolving for: Parameter java.lang.String username -| < Resolved(<1 ms): username24cbc137-4990-414b-9af7-39ae7ce1b437 for: Parameter java.lang.String username -< Resolved(1 ms): your.app.User@33e4068 for: class your.app.User +|-- > Resolving: for Parameter java.lang.String username +| < Resolved(<1 ms): username24cbc137-4990-414b-9af7-39ae7ce1b437 for Parameter java.lang.String username +< Resolved(1 ms): your.app.User@33e4068 for class your.app.User ``` The log uses the following symbols to represent the resolution flow: diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/features/logging-for-object-resolution.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/features/logging-for-object-resolution.mdx index d7930b7..9ea2aa9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/features/logging-for-object-resolution.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/features/logging-for-object-resolution.mdx @@ -8,9 +8,9 @@ import { version } from '../data.json'; # 개체 해결에 대한 로깅 -AutoParams는 테스트 실행 중 개체가 어떻게 해결되는지 이해하는 데 도움이 되는 자세한 로그를 제공합니다. 해결 로그는 테스트 실행 중 표준 출력으로 제공되며 각 값이 어떻게 생성되는지 쉽게 추적할 수 있습니다. +AutoParams는 테스트 실행 중 개체가 어떻게 해결되는지 이해하는 데 도움이 되는 자세한 로그를 제공합니다. 로깅을 활성화하려면 테스트 메서드에 `@LogResolution` 애노테이션을 `@AutoParams`와 함께 적용합니다. 활성화된 경우, 테스트 실행 중 표준 출력으로 출력되어 각 값이 어떻게 생성되는지 쉽게 추적할 수 있습니다. -`User` 클래스를 해결하면 자세한 추적 정보가 생성되는 예를 살펴보겠습니다. 다음 클래스가 주어졌을 때, +`User` 클래스의 자세한 추적 정보가 생성되는 예를 살펴보겠습니다. 다음 클래스가 주어졌을 때, ```java @@ -23,37 +23,54 @@ public class User { private final String username; } ``` +```kotlin +class User( + private val id: UUID, + private val email: String, + private val username: String +) +``` 다음 코드를 실행하면, ```java -ResolutionContext context = new ResolutionContext(); -User user = context.resolve(); +@Test +@AutoParams +@LogResolution +void testMethod(User user) { +} +``` +```kotlin +@Test +@AutoKotlinParams +@LogResolution +fun testMethod(user: User) { +} ``` 해결 프로세스의 계층적 시각화를 출력합니다. ```text -> Resolving for: class your.app.User -|-- > Resolving for: interface autoparams.generator.ConstructorResolver -| |-- > Resolving for: interface autoparams.generator.ConstructorExtractor -| | < Resolved(<1 ms): autoparams.generator.DefaultConstructorExtractor@5807ea46 for: interface autoparams.generator.ConstructorExtractor -| < Resolved(<1 ms): autoparams.generator.CompositeConstructorResolver@305289b3 for: interface autoparams.generator.ConstructorResolver +> Resolving: for class your.app.User +|-- > Resolving: for interface autoparams.generator.ConstructorResolver +| |-- > Resolving: for interface autoparams.generator.ConstructorExtractor +| | < Resolved(<1 ms): autoparams.generator.DefaultConstructorExtractor@5807ea46 for interface autoparams.generator.ConstructorExtractor +| < Resolved(<1 ms): autoparams.generator.CompositeConstructorResolver@305289b3 for interface autoparams.generator.ConstructorResolver | -|-- > Resolving for: Parameter java.util.UUID id -| < Resolved(<1 ms): 2c792f91-2fb8-41c0-a7af-5bda64192949 for: Parameter java.util.UUID id +|-- > Resolving: for Parameter java.util.UUID id +| < Resolved(<1 ms): 2c792f91-2fb8-41c0-a7af-5bda64192949 for Parameter java.util.UUID id | -|-- > Resolving for: Parameter java.lang.String email -| |-- > Resolving for: class autoparams.generator.EmailAddressGenerationOptions -| | < Resolved(<1 ms): EmailAddressGenerationOptions[domains=["test.com"]] for: class autoparams.generator.EmailAddressGenerationOptions -| < Resolved(1 ms): bab83e7b-bb56-4acb-aef4-ee7b4db24121@test.com for: Parameter java.lang.String email +|-- > Resolving: for Parameter java.lang.String email +| |-- > Resolving: for class autoparams.generator.EmailAddressGenerationOptions +| | < Resolved(<1 ms): EmailAddressGenerationOptions[domains=["test.com"]] for class autoparams.generator.EmailAddressGenerationOptions +| < Resolved(1 ms): bab83e7b-bb56-4acb-aef4-ee7b4db24121@test.com for Parameter java.lang.String email | -|-- > Resolving for: Parameter java.lang.String username -| < Resolved(<1 ms): username24cbc137-4990-414b-9af7-39ae7ce1b437 for: Parameter java.lang.String username -< Resolved(1 ms): your.app.User@33e4068 for: class your.app.User +|-- > Resolving: for Parameter java.lang.String username +| < Resolved(<1 ms): username24cbc137-4990-414b-9af7-39ae7ce1b437 for Parameter java.lang.String username +< Resolved(1 ms): your.app.User@33e4068 for class your.app.User ``` 로그에서 다음 기호들을 사용하여 해결 흐름을 나타냅니다. From 983b17f7af2d59c5065b158ba53533e1888ebcb5 Mon Sep 17 00:00:00 2001 From: Jinho Yim Date: Sat, 28 Jun 2025 16:53:07 +0900 Subject: [PATCH 2/2] Change version to 11.1.1 --- docs/data.json | 2 +- docs/extensions/autoparams-kotlin.mdx | 6 +++--- docs/extensions/autoparams-lombok.mdx | 6 +++--- docs/extensions/autoparams-mockito.mdx | 6 +++--- docs/extensions/autoparams-spring.mdx | 6 +++--- docs/getting-started.mdx | 6 +++--- i18n/ko/docusaurus-plugin-content-docs/current/data.json | 2 +- .../current/extensions/autoparams-kotlin.mdx | 6 +++--- .../current/extensions/autoparams-lombok.mdx | 6 +++--- .../current/extensions/autoparams-mockito.mdx | 6 +++--- .../current/extensions/autoparams-spring.mdx | 6 +++--- .../current/getting-started.mdx | 6 +++--- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/data.json b/docs/data.json index 7e86afd..218f3f2 100644 --- a/docs/data.json +++ b/docs/data.json @@ -1,3 +1,3 @@ { - "version": "11.0.5" + "version": "11.1.1" } \ No newline at end of file diff --git a/docs/extensions/autoparams-kotlin.mdx b/docs/extensions/autoparams-kotlin.mdx index a1c283c..2b59fc3 100644 --- a/docs/extensions/autoparams-kotlin.mdx +++ b/docs/extensions/autoparams-kotlin.mdx @@ -18,7 +18,7 @@ For Maven, you can add the following dependency to your `pom.xml`: io.github.autoparams autoparams-kotlin - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ For Maven, you can add the following dependency to your `pom.xml`: For Gradle Groovy DSL, use: ```gradle -testImplementation 'io.github.autoparams:autoparams-kotlin:11.0.5' +testImplementation 'io.github.autoparams:autoparams-kotlin:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-kotlin:11.0.5' For Gradle Kotlin DSL, use: ```gradle -testImplementation("io.github.autoparams:autoparams-kotlin:11.0.5") +testImplementation("io.github.autoparams:autoparams-kotlin:11.1.1") ``` ## `@AutoKotlinParams` Annotation diff --git a/docs/extensions/autoparams-lombok.mdx b/docs/extensions/autoparams-lombok.mdx index 2d60212..1dbb054 100644 --- a/docs/extensions/autoparams-lombok.mdx +++ b/docs/extensions/autoparams-lombok.mdx @@ -18,7 +18,7 @@ For Maven, you can add the following dependency to your `pom.xml`: io.github.autoparams autoparams-lombok - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ For Maven, you can add the following dependency to your `pom.xml`: For Gradle Groovy DSL, use: ```gradle -testImplementation 'io.github.autoparams:autoparams-lombok:11.0.5' +testImplementation 'io.github.autoparams:autoparams-lombok:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-lombok:11.0.5' For Gradle Kotlin DSL, use: ```gradle -testImplementation("io.github.autoparams:autoparams-lombok:11.0.5") +testImplementation("io.github.autoparams:autoparams-lombok:11.1.1") ``` ## `BuilderCustomizer` Class diff --git a/docs/extensions/autoparams-mockito.mdx b/docs/extensions/autoparams-mockito.mdx index b4fa58e..546de88 100644 --- a/docs/extensions/autoparams-mockito.mdx +++ b/docs/extensions/autoparams-mockito.mdx @@ -18,7 +18,7 @@ For Maven, you can add the following dependency to your `pom.xml`: io.github.autoparams autoparams-mockito - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ For Maven, you can add the following dependency to your `pom.xml`: For Gradle Groovy DSL, use: ```gradle -testImplementation 'io.github.autoparams:autoparams-mockito:11.0.5' +testImplementation 'io.github.autoparams:autoparams-mockito:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-mockito:11.0.5' For Gradle Kotlin DSL, use: ```gradle -testImplementation("io.github.autoparams:autoparams-mockito:11.0.5") +testImplementation("io.github.autoparams:autoparams-mockito:11.1.1") ``` ## Generating Test Doubles with Mockito diff --git a/docs/extensions/autoparams-spring.mdx b/docs/extensions/autoparams-spring.mdx index 398158a..513b578 100644 --- a/docs/extensions/autoparams-spring.mdx +++ b/docs/extensions/autoparams-spring.mdx @@ -27,7 +27,7 @@ For Maven, you can add the following dependency to your pom.xml: io.github.autoparams autoparams-spring - 11.0.5 + 11.1.1 ``` @@ -36,7 +36,7 @@ For Maven, you can add the following dependency to your pom.xml: For Gradle Groovy, use: ```gradle -testImplementation 'io.github.autoparams:autoparams-spring:11.0.5' +testImplementation 'io.github.autoparams:autoparams-spring:11.1.1' ``` ### Gradle (Kotlin) @@ -44,7 +44,7 @@ testImplementation 'io.github.autoparams:autoparams-spring:11.0.5' For Gradle Kotlin, use: ```gradle -testImplementation("io.github.autoparams:autoparams-spring:11.0.5") +testImplementation("io.github.autoparams:autoparams-spring:11.1.1") ``` ## `@UseBeans` Annotation diff --git a/docs/getting-started.mdx b/docs/getting-started.mdx index b14b1d8..01f239b 100644 --- a/docs/getting-started.mdx +++ b/docs/getting-started.mdx @@ -20,7 +20,7 @@ For Maven, you can add the following dependency to your `pom.xml`: io.github.autoparams autoparams - 11.0.5 + 11.1.1 ``` @@ -29,7 +29,7 @@ For Maven, you can add the following dependency to your `pom.xml`: For Gradle Groovy DSL, use: ```gradle -testImplementation 'io.github.autoparams:autoparams:11.0.5' +testImplementation 'io.github.autoparams:autoparams:11.1.1' ``` ### Gradle (Kotlin) @@ -37,5 +37,5 @@ testImplementation 'io.github.autoparams:autoparams:11.0.5' For Gradle Kotlin DSL, use: ```gradle -testImplementation("io.github.autoparams:autoparams:11.0.5") +testImplementation("io.github.autoparams:autoparams:11.1.1") ``` diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/data.json b/i18n/ko/docusaurus-plugin-content-docs/current/data.json index 7e86afd..218f3f2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/data.json +++ b/i18n/ko/docusaurus-plugin-content-docs/current/data.json @@ -1,3 +1,3 @@ { - "version": "11.0.5" + "version": "11.1.1" } \ No newline at end of file diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-kotlin.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-kotlin.mdx index db85d26..44295d6 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-kotlin.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-kotlin.mdx @@ -18,7 +18,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. io.github.autoparams autoparams-kotlin - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. Gradle Groovy DSL을 사용한다면, `build.gradle`에 다음 종속성을 추가하세요. ```gradle -testImplementation 'io.github.autoparams:autoparams-kotlin:11.0.5' +testImplementation 'io.github.autoparams:autoparams-kotlin:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-kotlin:11.0.5' Gradle Kotlin DSL을 사용한다면, `build.gradle.kts`에 다음 종속성을 추가하세요. ```gradle -testImplementation("io.github.autoparams:autoparams-kotlin:11.0.5") +testImplementation("io.github.autoparams:autoparams-kotlin:11.1.1") ``` ## `@AutoKotlinParams` 애너테이션 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-lombok.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-lombok.mdx index db7bc8e..d2e2287 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-lombok.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-lombok.mdx @@ -18,7 +18,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. io.github.autoparams autoparams-lombok - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. Gradle Groovy DSL을 사용한다면, `build.gradle`에 다음 종속성을 추가하세요. ```gradle -testImplementation 'io.github.autoparams:autoparams-lombok:11.0.5' +testImplementation 'io.github.autoparams:autoparams-lombok:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-lombok:11.0.5' Gradle Kotlin DSL을 사용한다면, `build.gradle.kts`에 다음 종속성을 추가하세요. ```gradle -testImplementation("io.github.autoparams:autoparams-lombok:11.0.5") +testImplementation("io.github.autoparams:autoparams-lombok:11.1.1") ``` ## `BuilderCustomizer` 클래스 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-mockito.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-mockito.mdx index 22549cb..02fdfb9 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-mockito.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-mockito.mdx @@ -18,7 +18,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. io.github.autoparams autoparams-mockito - 11.0.5 + 11.1.1 ``` @@ -27,7 +27,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. Gradle Groovy DSL을 사용한다면, `build.gradle`에 다음 종속성을 추가하세요. ```gradle -testImplementation 'io.github.autoparams:autoparams-mockito:11.0.5' +testImplementation 'io.github.autoparams:autoparams-mockito:11.1.1' ``` ### Gradle (Kotlin) @@ -35,7 +35,7 @@ testImplementation 'io.github.autoparams:autoparams-mockito:11.0.5' Gradle Kotlin DSL을 사용한다면, `build.gradle.kts`에 다음 종속성을 추가하세요. ```gradle -testImplementation("io.github.autoparams:autoparams-mockito:11.0.5") +testImplementation("io.github.autoparams:autoparams-mockito:11.1.1") ``` ## Mockito로 테스트 더블 생성 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-spring.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-spring.mdx index f31052a..5284fba 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-spring.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/extensions/autoparams-spring.mdx @@ -27,7 +27,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. io.github.autoparams autoparams-spring - 11.0.5 + 11.1.1 ``` @@ -36,7 +36,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. Gradle Groovy DSL을 사용한다면, `build.gradle`에 다음 종속성을 추가하세요. ```gradle -testImplementation 'io.github.autoparams:autoparams-spring:11.0.5' +testImplementation 'io.github.autoparams:autoparams-spring:11.1.1' ``` ### Gradle (Kotlin) @@ -44,7 +44,7 @@ testImplementation 'io.github.autoparams:autoparams-spring:11.0.5' Gradle Kotlin DSL을 사용한다면, `build.gradle.kts`에 다음 종속성을 추가하세요. ```gradle -testImplementation("io.github.autoparams:autoparams-spring:11.0.5") +testImplementation("io.github.autoparams:autoparams-spring:11.1.1") ``` ## `@UseBeans` 애너테이션 diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/getting-started.mdx b/i18n/ko/docusaurus-plugin-content-docs/current/getting-started.mdx index 1e4b588..e46104e 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/getting-started.mdx +++ b/i18n/ko/docusaurus-plugin-content-docs/current/getting-started.mdx @@ -20,7 +20,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. io.github.autoparams autoparams - 11.0.5 + 11.1.1 ``` @@ -29,7 +29,7 @@ Maven을 사용한다면, `pom.xml`에 다음 종속성을 추가하세요. Gradle Groovy DSL을 사용한다면, `build.gradle`에 다음 종속성을 추가하세요. ```gradle -testImplementation 'io.github.autoparams:autoparams:11.0.5' +testImplementation 'io.github.autoparams:autoparams:11.1.1' ``` ### Gradle (Kotlin) @@ -37,5 +37,5 @@ testImplementation 'io.github.autoparams:autoparams:11.0.5' Gradle Kotlin DSL을 사용한다면, `build.gradle.kts`에 다음 종속성을 추가하세요. ```gradle -testImplementation("io.github.autoparams:autoparams:11.0.5") +testImplementation("io.github.autoparams:autoparams:11.1.1") ```