有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java参数化测试不适用于GuiceExtension

大家好

    @ExtendWith({
            DbFixtureExtension.class,
            GuiceExtension.class
    })
    @IncludeModule({
            ApiModule.class,
            WebModule.class,
            DataModule.class,
            JsonHelperModule.class,
            DatabaseModule.class
    })
public class Simple {
    @Inject
    private WebSteps WebSteps;

    @Inject
    private DbSteps dbSteps;

    public void func(String string) {
        final Phone phone = Phone.of(Phone.RU_PREFIX, string);

        WebSteps.openLoginPage()
                .sendCodeForPhone(phone)
                .checkCode(dbSteps.getAuthCode(phone));
    }
   
    @ParameterizedTest
    @ValueSource(strings = {"1", "2", "3"})
    public void test(String numb) {
        func(numb);
    }
}

控制台显示此异常

org.junit.jupiter.api.extension.ParameterResolutionException: Discovered multiple competing ParameterResolvers for parameter [java.lang.String numb] in method [public void ru.Simple.test(java.lang.String)]: name.falgout.jeffrey.testing.junit.guice.GuiceExtension@1b46d2d8, org.junit.jupiter.params.ParameterizedTestParameterResolver@56cf348d

我认为这段代码不起作用,因为guiceextensionalredy实现了ParameterResolever。我怎样才能解决这个问题?我在我的简单测试类中实现了ParameterResolver接口,但它不适合我


共 (0) 个答案