Matcher m = Pattern.compile("(" + genusNames + ")[^\\p{L}][^\uFF00]").matcher(inputText);
        while(m.find()){
            if(!StateMachine.checkFormatRoman(m.group(1).length(), m.start()))
                createDecision(m.group(1), "<Roman>" + m.group(1) + "</Roman>", m.start());
    }


在上面的代码中,checkFormatRoman方法来自另一个类。我应该怎么做才能消除此方法的依赖性,请注意,此方法提供的值是动态获取的。

最佳答案

我认为您应该模拟静态方法StateMachine.checkFormatRoman。您可以使用powermock进行操作。

您可以返回所需的期望值。

就像是..

PowerMockito.mockStatic(StateMachine.class);
PowerMockito.when(StateMachine.checkFormatRoman(5, "IIIIL")).thenReturn(true);

关于java - Junit测试用例的依赖关系删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13508910/

10-10 14:05