Loading...
Loading...
Compare original and translation side by side
Read: standards/testing-junit-core.mdde.cuioss.test.generator@EnableGeneratorControllerRead: standards/test-generator-framework.mdRead: standards/testing-value-objects.mdShouldHandleObjectContracts<T>Read: standards/testing-mockwebserver.mdRead: standards/integration-testing.mdjava.util.loggingRead: standards/testing-juli-logger.md@EnableTestLoggerLogAssertsRead: standards/testing-quality-standards.mdRead: standards/testing-junit-core.mdde.cuioss.test.generator@EnableGeneratorControllerRead: standards/test-generator-framework.mdRead: standards/testing-value-objects.mdShouldHandleObjectContracts<T>Read: standards/testing-mockwebserver.mdRead: standards/integration-testing.mdjava.util.loggingRead: standards/testing-juli-logger.md@EnableTestLoggerLogAssertsRead: standards/testing-quality-standards.md@EnableGeneratorController@EnableGeneratorController# Run unit tests
Task:
subagent_type: maven-builder
description: Run unit tests
prompt: |
Execute unit tests only.
Parameters:
- command: clean test
CRITICAL: Wait for tests to complete. Inspect results and fix any failures.
# Run integration tests (if applicable)
Task:
subagent_type: maven-builder
description: Run integration tests
prompt: |
Execute integration tests with the integration-tests profile.
Parameters:
- command: clean verify -Pintegration-tests
CRITICAL: Wait for tests to complete. Inspect results and fix any failures.
# Verify coverage
Task:
subagent_type: maven-builder
description: Verify test coverage
prompt: |
Execute tests with coverage analysis using the coverage profile.
Parameters:
- command: clean verify -Pcoverage
CRITICAL: Wait for build to complete. Inspect coverage results and ensure
minimum 80% line/branch coverage is met. Address any coverage gaps.# 运行单元测试
Task:
subagent_type: maven-builder
description: Run unit tests
prompt: |
Execute unit tests only.
Parameters:
- command: clean test
CRITICAL: Wait for tests to complete. Inspect results and fix any failures.
# 运行集成测试(如适用)
Task:
subagent_type: maven-builder
description: Run integration tests
prompt: |
Execute integration tests with the integration-tests profile.
Parameters:
- command: clean verify -Pintegration-tests
CRITICAL: Wait for tests to complete. Inspect results and fix any failures.
# 验证覆盖率
Task:
subagent_type: maven-builder
description: Verify test coverage
prompt: |
Execute tests with coverage analysis using the coverage profile.
Parameters:
- command: clean verify -Pcoverage
CRITICAL: Wait for build to complete. Inspect coverage results and ensure
minimum 80% line/branch coverage is met. Address any coverage gaps.@EnableGeneratorController
@DisplayName("Token Validator Tests")
class TokenValidatorTest {
@Test
@DisplayName("Should validate token with correct issuer")
void shouldValidateTokenWithCorrectIssuer() {
// Arrange
String issuer = Generators.strings().next();
Token token = createTokenWithIssuer(issuer);
TokenValidator validator = new TokenValidator(issuer);
// Act
ValidationResult result = validator.validate(token);
// Assert
assertTrue(result.isValid(), "Token with correct issuer should be valid");
}
}@EnableGeneratorController
@DisplayName("Token Validator Tests")
class TokenValidatorTest {
@Test
@DisplayName("Should validate token with correct issuer")
void shouldValidateTokenWithCorrectIssuer() {
// Arrange
String issuer = Generators.strings().next();
Token token = createTokenWithIssuer(issuer);
TokenValidator validator = new TokenValidator(issuer);
// Act
ValidationResult result = validator.validate(token);
// Assert
assertTrue(result.isValid(), "Token with correct issuer should be valid");
}
}@EnableGeneratorController
class UserDataTest implements ShouldHandleObjectContracts<UserData> {
@Override
public UserData getUnderTest() {
return UserData.builder()
.username(Generators.strings().next())
.email(Generators.emailAddress().next())
.age(Generators.integers(18, 100).next())
.build();
}
}@EnableGeneratorController
class UserDataTest implements ShouldHandleObjectContracts<UserData> {
@Override
public UserData getUnderTest() {
return UserData.builder()
.username(Generators.strings().next())
.email(Generators.emailAddress().next())
.age(Generators.integers(18, 100).next())
.build();
}
}@EnableGeneratorController
class ParameterizedValidationTest {
@ParameterizedTest
@DisplayName("Should validate various email formats")
@GeneratorsSource(generator = GeneratorType.DOMAIN_EMAIL, count = 5)
void shouldValidateEmailFormats(String email) {
assertTrue(validator.isValidEmail(email),
"Generated email should be valid");
}
}@EnableGeneratorController
class ParameterizedValidationTest {
@ParameterizedTest
@DisplayName("Should validate various email formats")
@GeneratorsSource(generator = GeneratorType.DOMAIN_EMAIL, count = 5)
void shouldValidateEmailFormats(String email) {
assertTrue(validator.isValidEmail(email),
"Generated email should be valid");
}
}@EnableMockWebServer
@EnableGeneratorController
class HttpClientTest {
@InjectMockWebServer
private MockWebServerHolder serverHolder;
@Test
@DisplayName("Should successfully fetch user data")
void shouldFetchUserData() throws Exception {
// Arrange
String userName = Generators.strings().next();
serverHolder.enqueue(new MockResponse()
.setResponseCode(200)
.setBody(String.format("{\"name\": \"%s\"}", userName)));
// Act
User user = client.getUser(serverHolder.getBaseUrl(), 1);
// Assert
assertNotNull(user, "Response should not be null");
assertEquals(userName, user.getName(), "User name should match");
}
}@EnableMockWebServer
@EnableGeneratorController
class HttpClientTest {
@InjectMockWebServer
private MockWebServerHolder serverHolder;
@Test
@DisplayName("Should successfully fetch user data")
void shouldFetchUserData() throws Exception {
// Arrange
String userName = Generators.strings().next();
serverHolder.enqueue(new MockResponse()
.setResponseCode(200)
.setBody(String.format("{\"name\": \"%s\"}", userName)));
// Act
User user = client.getUser(serverHolder.getBaseUrl(), 1);
// Assert
assertNotNull(user, "Response should not be null");
assertEquals(userName, user.getName(), "User name should match");
}
}