Java 带有注入存储库的junit测试服务
我有一个需要测试的服务,它已经注入了存储库Java 带有注入存储库的junit测试服务,java,spring,junit,Java,Spring,Junit,我有一个需要测试的服务,它已经注入了存储库 @Service public class MyService { @Inject private MyRepo myRepo; public someFunctionToTest(){ // body... } } 然而,我不知道如何为服务编写适当的junit测试 我尝试了以下几点: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfigura
@Service
public class MyService {
@Inject
private MyRepo myRepo;
public someFunctionToTest(){
// body...
}
}
然而,我不知道如何为服务编写适当的junit测试
我尝试了以下几点:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { Application.class })
@Configuration
public class NumberGeneratorServiceTest {
@Inject
private MyService myService;
@Inject
private MyRepository MyRepository;
@Test
public void test() {
//do something
}
}
在这种情况下,im获取错误:未能加载ApplicationContext
原因:org.springframework.beans.factory.beanCurrentlyIncremarationException:创建名为“getMyRepository”的bean时出错:请求的bean当前正在创建中:是否存在无法解析的循环引用?
使用注入测试服务的正确方法是什么
编辑:MyRepository
@Repository
@AllArgsConstructor
@NoArgsConstructor
public class MyRepositoryImpl implements MyRepository {
@Inject
private MyJPARepository entityRepository;
//some methods
}
MyRepository的实现在哪里?添加的实现什么是您的类私有MyRepo MyRepo;似乎您在执行bean注入时遇到了问题,可能是因为配置无效或加载配置文件失败。你能发布你的配置文件吗?