Testando um RepositoryRestController personalizado que usa um PersistentEntityResourceAssembler

eu tenho umRepositoryRestController que expõe recursos para algumas entidades persistentes.

Eu tenho um método no meu controlador que leva umPersistentEntityResourceAssembler para me ajudar a gerar os recursos automaticamente.

@RepositoryRestController
@ExposesResourceFor(Customer.class)
@RequestMapping("/api/customers")
public class CustomerController {

    @Autowired
    private CustomerService service;

    @RequestMapping(method = GET, value="current")
    public ResponseEntity getCurrent(Principal principal Long id, PersistentEntityResourceAssembler assembler) {
        return ResponseEntity.ok(assembler.toResource(service.getForPrincipal(principal)));
    }
}

(Exemplo artificial, mas economiza muitos detalhes sobre detalhes irrelevantes do meu caso de uso)

Gostaria de escrever um teste para o meu controlador (meu caso de uso real realmente vale a pena testar) e estou planejando usar o @WebMvcTest.

Então, eu tenho a seguinte classe de teste:

@RunWith(SpringRunner.class)
@WebMvcTest(CustomerController.class)
@AutoConfigureMockMvc(secure=false)
public class CustomerControllerTest {
    @Autowired
    private MockMvc client;

    @MockBean
    private CustomerService service;

    @Test
    public void testSomething() {
        // test stuff in here
    }

    @Configuration
    @Import(CustomerController.class)
    static class Config {
    }

}

Mas eu recebo uma exceção dizendojava.lang.NoSuchMethodException: org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.<init>()

Presumivelmente, algo não está sendo configurado corretamente aqui porque estou com falta de toda a camada de dados. Existe alguma maneira de zombar doPersistentEntityResourceAssembler? Ou outra abordagem que eu poderia usar aqui?

questionAnswers(2)

yourAnswerToTheQuestion