Spring 模拟自连线静态场

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

我试图模拟静态自动连接字段,但在执行JunitTest时,我的testmethods中出现了空指针异常。 下面是我的源代码和测试类代码片段

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不模拟静态类。不确定通过自动连接字段和使用静态字段来尝试什么。如果它起作用,你怎么知道使用哪一个和什么时候?通常人们不测试日志记录,这是大多数软件的非功能性需求。不是说你不应该,但这通常是不会做的。