【发布时间】:2014-07-25 16:34:33
【问题描述】:
我有一个类,它接收带有有效负载字符串的消息。 然后将有效负载拆分并用于创建一个传递给 DAOInterface 的实体。
如何测试daoInterface.insert(entity) 是否已拨打?
要模拟 DAOInterface 然后验证对 DAO 的调用需要测试类中的实体,即
verify(daoInterface).insert(entity);
这是糟糕的设计,即在这个阶段创建实体吗?是否应该将 Sting[] 拆分传递给 DAOImplementaion 并在那里初始化。示例问题,
public class ServiceClass {
@AutoWire
private DAOInterface daoInterface;
public void serviceMessage(Message<String> message) {
MessageHeaders mh = new MessageHeaders(message.getHeaders());
String[] split = ((String) mh.get("payload")).split("_");
code omitted
...
String type = mh.get("WhatType");
Entity entity = new Entity(split[0], split[1], split[2]);
if (type.equals("one"))
{
daoInterface.insert(entity); //How to test?
}
else
{
if (type.equals("two"))
{
doaInterface.modify(entity); //How to test?
}
}
}
}
【问题讨论】:
标签: java unit-testing testing junit mockito