【发布时间】:2016-07-07 20:43:49
【问题描述】:
我想在几个代码块上创建一些单元测试,但不确定我应该测试什么,单元测试对我来说是新的,我通过示例学习得更好。这是有问题的代码。
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;
}
}
public static String buildCustomerName(WebOrder order)
{
Optional<? extends Customer> foundCustomer = order.getItems().stream().findFirst().map(i -> i.getShipping());
if(!foundCustomer.isPresent())
{
foundCustomer = order.getPayments().stream().findFirst();
}
return buildCustomerName(foundCustomer.orElse(null));
}
public static String buildCustomerName(Customer customer)
{
StringBuilder sb = new StringBuilder();
if(customer != null)
{
if(StringUtils.isNotBlank(customer.getAddress().getFirstName()))
{
sb.append(customer.getAddress().getFirstName()).append(' ');
}
if(StringUtils.isNotBlank(customer.getAddress().getMiddleName()))
{
sb.append(customer.getAddress().getMiddleName()).append(' ');
}
if(StringUtils.isNotBlank(customer.getAddress().getLastName()))
{
sb.append(customer.getAddress().getLastName()).append(' ');
}
if(StringUtils.isNotBlank(customer.getAddress().getCompanyName()))
{
sb.append(customer.getAddress().getCompanyName()).append(' ');
}
}
return sb.toString().trim();
}
我知道这很可能,我不希望为我编写的代码只是一个想法或示例,说明如何测试它。我之前写过基本测试,但其中一些让我有点难过。谢谢
【问题讨论】:
标签: java unit-testing