我正在使用Spring Boot,正在尝试创建测试。
其实我的测试课:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class MemberServiceImplTest {
@InjectMocks
MemberServiceImpl memberService;
@Mock
MemberRepository memberRepository;
@Mock
Member member;
@Before
public void initMocks() {
MockitoAnnotations.initMocks(this);
}
@Test
public void getMemberId() {
Long memberId = 1l;
Member member = new Member();
...
Mockito.when(memberRepository.findOne(memberId)).thenReturn(member);
MemberDto memberDto = memberService.getMemberById(memberId);
...
}
在
memberService
类和getMemberById
方法中,我对findOne
类的memberRepository
方法进行了调用。如果未找到成员,则抛出ResourceNotFoundException
异常。我不明白为什么会收到此错误。
我使用的注释不正确吗?
最佳答案
确切地说很难说,因为我不能只复制并粘贴所有代码进行调试,但是我相信您没有正确初始化模拟。尝试添加以下方法:
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}