我似乎无法在网上找到任何解决此问题的教程
我有这个if
陈述:
if (basket.getCustomerId() != null) {
Basket exBasket = findBasketByCustomerId(basket.getCustomerId());
if (exBasket != null && exBasket.getBasketId() != null) {
return exBasket;
}
我想编写一个单元测试来测试每一行,看看它是否做正确的事情。
有任何想法吗?
@Test
public void testBasketWithANullCustomerId(){
basketInformationServiceImpl.createBasket(mockBasket);
assertNotNull(mockBasket.getCustomerId());
}
单元测试的目的不是测试声明 but methods。正确的做法是不要考虑这一行,而是考虑它出现的方法,并询问您希望该方法做什么:它需要什么类型的输入,以及它应该产生什么类型的输出?
然后编写需要一些时间的测试typical输入,并检查它们是否给出正确的输出,以及一些边缘情况输入(如null
, 0, Integer.MAX_VALUE
等)并检查您是否也获得了正确的输出。
如果这是你的整个方法(实际上不可能,但如果这是它的本质),我会测试:
- a
basket
with a null
客户ID;
- a
null
篮子(除非您确定这永远不会发生),因为目前此代码将给出NullPointerException
;
- 一个带有客户 ID 的购物篮,可以让您找到已知的客户
exBasket
;
- 一个带有客户 ID 的购物篮,该 ID 将返回
exBasket
of null
;
- 一个带有客户 ID 的购物篮,该 ID 将返回
exBasket
不为空,但其购物篮 ID 为null
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)