# 参数解析异常：方法 testFactory 中参数 [java.lang.String arg0] 没有注册的 ParameterResolver

- **ID:** `java/junit-test-factory-no-parameters`
- **领域:** java
- **类别:** config_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

@TestFactory 方法有参数但缺少来源，或动态测试不支持参数。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 8+ | active | — | — |

## 解决方案

1. **Remove parameters from @TestFactory method** (95% 成功率)
   ```
   @TestFactory
Stream<DynamicTest> testFactory() {
    return Stream.of("a", "b").map(input ->
        DynamicTest.dynamicTest("Test " + input, () -> {
            assertNotNull(input);
        })
    );
}
   ```
2. **Use @TestTemplate instead** (70% 成功率)
   ```
   @TestTemplate
@ExtendWith(MyExtension.class)
void testTemplate(String input) {
    // implementation
}
   ```

## 无效尝试

- **Adding @ParameterizedTest instead of @TestFactory** — Changes test type; may not produce dynamic tests. (50% 失败率)
- **Removing parameters and using hardcoded values** — Reduces test flexibility. (40% 失败率)
