我正在尝试编写一个静态类的单元测试。我实际上想验证那个类上的一个方法是否被调用。
@Guice(modules = testModule.class)
@PrepareForTest(ServiceRunnerBase.class)
@PowerMockIgnore("javax.management.*")
public class RunnerTest extends PowerMockTestCase {
@BeforeMethod
public void setUp() {
PowerMockito.mockStatic(ServiceRunnerBase.class);
}
@Test
public void testStopCallsReleaseLock() {
// I will add code here when I get the powerMockito mockStatic to work.
}
}
我的测试编译了,但是当我运行它时,我得到了这个异常:
org.powermock.api.mockito.ClassNotPreparedException:
[Ljava.lang.Object;@2fb38899
The class ServiceRunnerBase not prepared for test.
但是,我的类在@PrepareForTest
注释中。我的类ServiceRunnerBase
是一个抽象类,但它在其中定义了几个静态方法。无法更改ServiceRunnerBase
。
ServiceRunnerBase是一个抽象类,具有以下内容(我不能发布代码,它是专有的)
@getter
我用PowerMockito做错了什么?
这里是我对抽象类的测试和配置,工作很好。如果您有不同的powermock版本,请告诉我
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-testng</artifactId>
<version>1.6.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.6.6</version>
<scope>test</scope>
</dependency>
生产类
public abstract class SR {
protected static void release() {
}
}
测试类
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.testng.PowerMockTestCase;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.SR;
@PrepareForTest(SR.class)
public class TSR extends PowerMockTestCase {
@BeforeMethod
public void setUp() {
PowerMockito.mockStatic(SR.class);
}
@Test
public void testStopCallsReleaseLock() {
// I will add code here when I get the powerMockito mockStatic to work.
}
}
我正在从专家运行 TestNG 文件,我得到了这个异常。我检查了maven的目标文件夹,没有生成任何类 [错误]未能执行目标组织 apache.maven.插件:maven-surefire-插件:2.18.1:测试(默认测试): 执行目标组织的默认测试.apache.maven.插件:maven-surefire-plugin:2.18.1:测试失败:分叉进程中存在错误 [错误]org . Te
我经历了这个问题,也经历了这个问题。但他们都没有帮助。有人能让我知道我做错了什么吗?
学习AngularJS的一个好方法是逐步完成本教程,它将引导您构建一个完整的AngularJS web应用程序。 该web应用是一个Android设备清单的目录列表,您可以筛选列表以便查看您感兴趣的设备,然后查看设备的详细信息。 本教程将向您展示AngularJS怎样使得web应用更智能更灵活,而且不需要各种扩展程序或插件。 通过本教程的学习,您将: 阅读示例学习怎样使用AngularJS的客户端
我正在用spring Boot做一个项目。:图书馆管理系统。为了得到要计算的罚款,我已经更改了系统日期。但是,在此之后,当我重新运行应用程序时,在控制台中会出现以下错误 配置为侦听端口8080的Tomcat连接器无法启动。端口可能已在使用中,或者连接器配置错误。 验证连接器的配置,识别并停止正在侦听端口8080的任何进程,或者将此应用程序配置为侦听另一个端口。
这里是错误发生的地方 当调用setString时,psClaims此时不为空。
我正在尝试使用准备好的语句和TABLE_CATALOG和table_schema的参数来选择默认模式'public'中的所有表。当我创建一个准备好的语句时,系统会返回一个错误,这没有任何意义。如果我指定了TABLE_CATALOG而不指定TABLE_SCHEMA,它可以很好地工作。另外,如果指定TABLE_SCHEMA而不指定TABLE_CATALOG,它也可以正常工作。我是不是做错什么了? 线程