相关疑难解决方法(0)

如何让方法返回传递给它的参数?

考虑一个方法签名,如:

public String myFunction(String abc);
Run Code Online (Sandbox Code Playgroud)

Mockito可以帮助返回方法收到的相同字符串吗?

java mockito

622
推荐指数
10
解决办法
32万
查看次数

无法使用Mockito模拟Spring-Data-JPA存储库

我正在尝试为服务编写测试.但我嘲笑repository依赖是不成功的.其他非存储库依赖项已成功模拟.存储库实例始终是实际实现,而不是模拟实例.

我正在使用Spring Boot和Spring Data JPA来构建应用程序.Mockito用于嘲笑.我设法将问题提炼成一个测试项目.完整的测试项目在GitHub上.以下是测试项目的代码片段; 以下是PersonServiceTest班级.

更新1: before()代码应该检查personRepositorypersonService

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(App.class)
@WebAppConfiguration
@TestExecutionListeners({ServletTestExecutionListener.class, DirtiesContextBeforeModesTestExecutionListener.class, DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, TransactionalTestExecutionListener.class, SqlScriptsTestExecutionListener.class})
@Transactional
@ActiveProfiles({"mock-some-bean", "mock-person-repository"})
public class PersonServiceTest {

    @Inject
    private SomeBean someBean;
    @Inject
    private PersonRepository personRepository;
    @Inject
    private PersonService personService;

    @Before
    public void before() {
        assertThat(mockingDetails(someBean).isMock(), is(true));
        assertThat(mockingDetails(personRepository).isMock(), is(true));
    }

    @Test
    public void doSomething() throws Exception { ... }
}
Run Code Online (Sandbox Code Playgroud)

测试类使用两个配置文件:mock-some-beanmock-person-repository.基本上,我使用配置文件来确定应该嘲笑什么.在进行任何测试之前,我断言someBeanpersonService被模拟的实例.someBean被嘲笑但personService总是失败.以下代码是TestConfig …

mockito spring-data-jpa spring-boot

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

mockito ×2

java ×1

spring-boot ×1

spring-data-jpa ×1