Spring 模拟自连线静态场
我试图模拟静态自动连接字段,但在执行JunitTest时,我的testmethods中出现了空指针异常。 下面是我的源代码和测试类代码片段Spring 模拟自连线静态场,spring,spring-boot,mockito,junit4,Spring,Spring Boot,Mockito,Junit4,我试图模拟静态自动连接字段,但在执行JunitTest时,我的testmethods中出现了空指针异常。 下面是我的源代码和测试类代码片段 public class MyUtil { private static Logger log = LoggerFactory.getLogger(MyUtil.class); private static MyLogger myLogger; @Autowired private MyLogger tMyLogger; @PostConstruc
public class MyUtil {
private static Logger log = LoggerFactory.getLogger(MyUtil.class);
private static MyLogger myLogger;
@Autowired
private MyLogger tMyLogger;
@PostConstruct
public void init() {
ModelUtil.myLogger = tMyLogger;
}
public static String getSomething(String foo) {
if (foo != null) {
myLogger.log(foo);
}
}
MyLoggerTestClass如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
public class MyUtilTest {
private static MyLogger myLoggerMock;
@Mock
private MyLogger tMyLoggerMock;
@PostConstruct
public void init() {
ModelUtilTest.myLoggerMock = tMyLoggerMock;
}
Mockito不模拟静态类。不确定通过自动连接字段和使用静态字段来尝试什么。如果它起作用,你怎么知道使用哪一个和什么时候?通常人们不测试日志记录,这是大多数软件的非功能性需求。不是说你不应该这样做,但这通常是不应该的。Mockito不模拟静态类。不确定通过自动连接字段和使用静态字段来尝试什么。如果它起作用,你怎么知道使用哪一个和什么时候?通常人们不测试日志记录,这是大多数软件的非功能性需求。不是说你不应该,但这通常是不会做的。