【发布时间】:2018-12-22 04:40:35
【问题描述】:
大家好,我需要为我的方法编写单元测试。我遇到了一些麻烦,因为我是 JUnit 的新手。我需要为此方法编写一个测试。 这是我的方法
@Override
public Long countSellingOrdersInQueue(String principal) {
List<String> states = Arrays.asList(PENDING.name(), REGULARIZED.name());
return orderRepository.countByArticleUserIdAndStateIn(principal, states);
}
我尝试了,但我被阻止了,这是我的结果
附:测试通过了,但我不明白我的测试是否正确
@MockBean
private OrderRepository orderRepository;
private String principal ;
@Test
public void countSellingOrdersInQueueTest(){
orderService.countSellingOrdersInQueue(principal);
List<String> states = Arrays.asList(PENDING.name(), REGULARIZED.name());
orderRepository.countByUserIdAndStateIn(principal,states);
}
【问题讨论】:
-
为什么要在测试中复制被测方法的代码?如果您真的必须这样做,那将是难以置信的脆弱:如果您更改代码而不更改测试怎么办?测试应该调用方法本身。
-
你好,安迪,谢谢你的评论 :) 那么完美的解决方案是什么?
-
你对编写单元测试的理解显然有一些基本的差距。我建议您在担心“完美解决方案”之前花时间阅读一些教程。
标签: java unit-testing junit