我有一个辅助类,其中包含一些静态最终字符串,如下所示
public static final String abc = "abc"
但在我的测试中,我想使用该值
public static final String abc = "xyz"
所以我添加了以下内容
private static final HelperClass mock = mock(HelperClass.class);
@Before
when(mock.abc).thenReturn("xyz")
要测试的实际代码
public void codeToTest() {
// use Helperclass.abc
// other logic
但是不允许此声明,因为它需要是方法调用。 (MissingMethodInitation)
如何在测试中使用静态变量?
最佳答案
静态值可能会使某些测试变得更加困难。您将无法使用模拟来获取此值。但我不得不问你为什么要 mock 这个。它没有测试辅助类中的任何内容来访问此变量,并且您需要一个常量,为什么不在测试中定义和使用该常量呢?
关于java - 替换测试中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186966/