gpt4 book ai didi

junit - powermock @PrepareForTest 不适用于通配符值

转载 作者:行者123 更新时间:2023-12-02 22:22:21 31 4
gpt4 key购买 nike

版本:powermock-core 1.4.12

问题:根据API doc ,@PrepareForTest 应该能够像这样使用通配符:

@PrepareForTest("com.smin.*")

但在我的例子中,它只是无法编译,编译错误:

Type mismatch: cannot convert from String to Class<?>[]

我看过PrepareForTest的源码,就是不明白这个注解是怎么取通配符的。有什么想法吗?

@Target( { ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface PrepareForTest {
Class<?>[] value() default IndicateReloadClass.class;

String[] fullyQualifiedNames() default "";
}

最佳答案

是的 - 文档似乎与现实不符。尝试:

@PrepareForTest(fullyQualifiedNames={"com.smin.*"})

认为通配符名称的解析将发生在 MockClassLoader 或其父类(super class) DeferSupportingClassLoader 中,如果您想深入挖掘的话。

关于junit - powermock @PrepareForTest 不适用于通配符值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492604/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com