我想在几个代码块上创建一些单元测试,但不确定我应该测试什么,单元测试对我来说是新的,我通过示例更好地学习。以下是相关代码。
ComponentDidMount
public static String buildAddressStreet(Address address)
{
if(address.getAddressLines().size() > 0)
{
return address.getAddressLines().get(0);
}
else
{
return StringUtils.EMPTY;
}
}
public static Collection<Payment> collectFraudPayments(WebOrder order)
{
return streamPaymentsFilterForFraud(order).collect(Collectors.toList());
}
private static Stream<Payment> streamPaymentsFilterForFraud(WebOrder order)
{
return order.getPayments().stream()
.filter(i -> i.getPayMethod().isCreditCard())
.filter(i -> (!StringUtils.startsWith(i.getFraudStatusCode(), "A") || FraudStatusCode.isPossibleFraud(i.getDecisionResponse())) );
}
public static String getAddressLocation(Address address, int location)
{
if(location < 3)
{
if(address.getAddressLines().size() >= location+1)
{
return address.getAddressLines().get(location);
}
}
return null;
}
public static String getCommerceCustomerNumber(WebOrder order)
{
Customer customer = findCustomer(order);
if(customer != null)
{
return customer.getId();
}
else
{
return null;
}
}
我理解这是一个很大的问题,我不希望为我编写的代码只是一个想法或示例,它将如何测试它。我以前写了基本的测试,但其中一些让我有点难过。感谢
答案 0 :(得分:0)
单元测试有一些规则:
了解测试效果的一个好方法是使用代码覆盖率工具,查看测试次数和次数。对于java,请尝试使用JaCoCo
。
答案 1 :(得分:0)
开始进行单元测试的一个更好的方法是决定你希望代码做什么,然后编写测试以确保它完成这些工作,并且只需编写代码。理想的单元测试将有一个测试用例,涵盖每行代码,每个if语句和边缘情况,而Eli Sadoff提供的答案几乎涵盖了这些案例。