gpt4 book ai didi

java - 抽象测试类

转载 作者:行者123 更新时间:2023-12-01 18:52:16 25 4
gpt4 key购买 nike

我现在有一些使用 PowerMock 和 Mockito 来“模拟对象”的测试。问题是,所有这些测试一遍又一遍地创建相同的模拟。是否有可能有一个抽象类,我的测试从中派生来预先模拟这些对象?

示例:

public abstract class AbstractTest {
public void initialize() {
PowerMockito.mockStatic(StaticMock.class);
when(StaticMock.doSomething()).thenReturn(true);
}
}

@RunWith(PowerMockRunner.class)
@PrepareForTest(StaticMock.class) // BanManager.class contains static methods
public class Test extends AbstractTest {

@SuppressWarnings("serial")
@Test
public void testWithPerms() {
initialize();
SomeObject obj = new SomeObject();
obj.doSomething();
PowerMockito.verifyStatic();
Static.verifyIsCalled();
}
}

我怎样才能做像上面这样实际有效的事情?这给了我不一致的堆栈图帧

编辑:谢谢您的回答。我的问题实际上是由于我使用了与 java 7 不兼容的 PowerMock 版本。不过,您的指示将会有所帮助。

最佳答案

当然这是可能的。如果将 @Before 注释放在基类中的方法上,它将在任何子类中的每个测试开始时运行。或者,您可以将其推迟到所有测试中使用的某种工厂类中。

关于java - 抽象测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456385/

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