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注入时遇到了问题,可能是因为配置无效或加载配置文件失败。你能发布你的配置文件吗?