У меня есть класс MyClass
, в котором @Autowired private Environment env;
. Он также имеет public MyFunctionA()
, который вызывает private MyFunctionB()
, а в MyFunctionB()
он вызывает env.getProperty(propName)
, который возвращает строковое значение из файла свойств в MyFunctionA()
в качестве фактора при его вычислении. Но в настоящее время при отладке теста JUnit я не могу смутить env, не получив null
.
Класс модульного тестирования MyServiceTest
для MyClass
начинается следующим образом:
public class MyServiceTest {
@Mock
final Environment env = Mockito.mock(Environment.class);
MyServiceImpl myService;
@Before
public void setUp() throws Exception {
Mockito.when(this.env.getProperty("myProperty")).thenReturn("1234,2345");
myService = new MyServiceImpl();
Позже, в функции модульного тестирования, она вызывает MyFunctionA()
, но отладка показывает, что MyFunctionB()
встречает NPE при выполнении вызова env.getProperty
. Что может быть не так? Тест выглядит так:
@Test
public void myUnitTest() throws IOException {
boolean boolFlag = myService.MyFunctionA();
assertTrue(boolFLag);
}