版本: powermock-core 1.4.12
问题: 根据{{3}},@ 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 "";
}
答案 0 :(得分:5)
是的 - 文档似乎与现实并不相符。尝试:
@PrepareForTest(fullyQualifiedNames={"com.smin.*"})
我认为通配名称的解析会发生在MockClassLoader
或它的超类DeferSupportingClassLoader
,如果你想深入挖掘。