我想创建的代码的几个街区的一些单元测试,但我不确定我应该是什么样的测试,单元测试是新的给我,我学会例子更好。这里是有问题的代码。咨询测试
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();
}
我理解,这是概率了很多,我不想为我编写的代码只是一个想法或例子,说明如何进行测试。我已经写过基本的测试,但其中一些让我有点难过。由于
二是从有关单位测试前几天答案:http://stackoverflow.com/questions/38081611/junit-writing-a-test-for-a-method-that-deletes-an-entity/38082803#38082803和http://stackoverflow.com/questions/37947075/how-to-testmock-object-that-uses-external-api-jama-software/37948445#37948445 – Compass