我开始与Mockito作为我的嘲讽framemork。我尝试嘲笑一些自定义类与它:使用静态初始化块与Mockito
//usage
@Mock
private LoginAttempt loginAttempt;
和LoginAttempt
类:
public class LoginAttempt {
private static LoginAttempt loginAttempt;
static {
loginAttempt = new LoginAttempt();
loginAttempt.setOs(TEST_GLOBALS.OS);
loginAttempt.setBrowser(TEST_GLOBALS.BROWSER);
loginAttempt.setDevice(TEST_GLOBALS.DEVICE);
loginAttempt.setOsVersion(TEST_GLOBALS.OS_VERSION);
loginAttempt.setBrowserVersion(TEST_GLOBALS.BROWSER_VERSION);
}
...
但是,当我调试我的测试情况下,loginAttempt
var为空。我究竟做错了什么?
我在教程看到的,我应该做这样的事情:
private static LoginAttempt loginAttempt = new LoginAttempt();
但是,如果我想预初始化一些字段的值是什么?
编辑我的loginAttempt
不为空,但我在静态块中分配的值未初始化。
这似乎并没有被什么关系的Mockito。如果您在任何一种方法中检查“LoginAttempt.loginAttempt.os”的值,会发生什么情况? –
什么是TEST_GLOBALS?它拼写成一个常量,但不像一个。 –
@LewBloch它包含常量的类。 –