at com.priserp.springapipeta.service.empresaservice.getAllempresas(empresaservice.java:53) 在com.priserp.springapipeta.unit.service.empresaservicetest.should_return_all_all_empresas(empresaservicetest.java:66) 在java.base/java.lang.reflect.method.invoke(method.java:580) 在java.base/java.util.arraylist.foreach(arraylist.java:1596) 在java.base/java.util.arraylist.foreach(arraylist.java:1596)
我的服务:@Service
public class EmpresaService {
private final EmpresaRepository empresaRepository;
public List<Empresa> getAllEmpresas() {
return empresaRepository.findAll();
}
}
@Repository
public interface EmpresaRepository extends JpaRepository<Empresa, Long> {
Optional<Empresa> findByRazaoSocial(String name);
Optional<Empresa> findByCnpj(String cnpj);
}
我的测试类,我想检查该方法是否返回列表,但此列表始终为空或索引以外
@RunWith(MockitoJUnitRunner.class)
@SpringBootTest(classes = PetaApiApplication.class)
class EmpresaServiceTest {
@Mock
EmpresaRepository empresaRepository;
@InjectMocks
EmpresaService empresaService = new EmpresaService(empresaRepository);
private final List<Empresa> empresas = new ArrayList<>();
@Test
public void should_Return_All_Empresas() {
Empresa empresa1 = new Empresa(1L, "EMPRESA 1", "12345678");
Empresa empresa2 = new Empresa(2L, "EMPRESA 2", "456");
empresas.add(empresa1);
empresas.add(empresa2);
when(empresaRepository.findAll()).thenReturn(empresas);
List<Empresa> foundEmpresas = this.empresaService.getAllEmpresas();
assertNotEquals(null, foundEmpresas);
assertEquals("EMPRESA 1", foundEmpresas.get(0).getRazaoSocial());
System.out.println(foundEmpresas.size());
System.out.println(empresas.size());
}
}
我相信您正在尝试对测试进行单位测试,因此这不是春季启动测试。请尝试更改您的考试课
EmpresaService