【发布时间】:2020-03-03 17:01:55
【问题描述】:
我在嘲笑我的MemberServiceImpl 班级。特别是下面的getMembers() 方法返回List<Golfer>:
@Service
public class MemberServiceImpl implements MemberService {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
MemberRepository repository;
@Override
public List<Golfer> getMembers() {
List<Golfer> members = repository.findAll();
return members;
}
在我的MemberControllerTest 课程中,我创建了一个高尔夫球手列表,并在发送我的GET 请求之前使用thenReturn(members) - 它总是返回一个空列表。任何想法我做错了什么:
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
class MemberControllerTest {
@Mock
MemberService memberService;
@InjectMocks
MemberController memberController = new MemberController();
@Autowired
private TestRestTemplate restTemplate;
//bind RANDOM_PORT
@LocalServerPort
private int port;
private String name = "David";
private Golfer member = new Golfer("David");
private HttpHeaders headers = new HttpHeaders();
private String baseUrl = "http://localhost:";
@Test
void testGetAllMembers() throws Exception{
restTemplate = new TestRestTemplate();
HttpHeaders headers = new HttpHeaders();
Golfer member1 = new Golfer("Harry");
Golfer member2 = new Golfer("Maureen");
List<Golfer> members = new ArrayList<Golfer>();
members.add(member1);
members.add(member2);
when(memberService.getMembers()).thenReturn(members);
ResponseEntity<List<Golfer>> response = restTemplate.exchange("http://localhost:"+port, HttpMethod.GET, null, new ParameterizedTypeReference<List<Golfer>>() {});
assertEquals(members,response.getBody());
}
}
【问题讨论】:
标签: java spring-boot mockito