📄 managertest.xdt
字号:
<XDtTagDef:tagDef namespace="Form" handler="org.example.antbook.xdoclet.FormTagsHandler"/>
<XDtTagDef:tagDef namespace="MethodEx" handler="org.example.antbook.xdoclet.MethodExTagsHandler"/>
package <XDtForm:parentPackageName/>.service;
import java.util.List;
import java.util.ArrayList;
import <XDtForm:parentPackageName/>.dao.<XDtForm:className/>DAO;
import <XDtPackage:packageName/>.<XDtForm:className/>;
import <XDtForm:parentPackageName/>.service.impl.<XDtForm:className/>ManagerImpl;
import org.jmock.Mock;
import org.springframework.orm.ObjectRetrievalFailureException;
public class <XDtForm:className/>ManagerTest extends BaseManagerTestCase {
private final String <XDtForm:classNameLower/>Id = "1";
private <XDtForm:className/>Manager <XDtForm:classNameLower/>Manager = new <XDtForm:className/>ManagerImpl();
private Mock <XDtForm:classNameLower/>DAO = null;
private <XDtForm:className/> <XDtForm:classNameLower/> = null;
protected void setUp() throws Exception {
super.setUp();
<XDtForm:classNameLower/>DAO = new Mock(<XDtForm:className/>DAO.class);
<XDtForm:classNameLower/>Manager.set<XDtForm:className/>DAO((<XDtForm:className/>DAO) <XDtForm:classNameLower/>DAO.proxy());
}
protected void tearDown() throws Exception {
super.tearDown();
<XDtForm:classNameLower/>Manager = null;
}
public void testGet<XDtForm:className/>s() throws Exception {
List results = new ArrayList();
<XDtForm:classNameLower/> = new <XDtForm:className/>();
results.add(<XDtForm:classNameLower/>);
// set expected behavior on dao
<XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>s")
.will(returnValue(results));
List <XDtForm:classNameLower/>s = <XDtForm:classNameLower/>Manager.get<XDtForm:className/>s(null);
assertTrue(<XDtForm:classNameLower/>s.size() == 1);
<XDtForm:classNameLower/>DAO.verify();
}
public void testGet<XDtForm:className/>() throws Exception {
// set expected behavior on dao
<XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>")
.will(returnValue(new <XDtForm:className/>()));
<XDtForm:classNameLower/> = <XDtForm:classNameLower/>Manager.get<XDtForm:className/>(<XDtForm:classNameLower/>Id);
assertTrue(<XDtForm:classNameLower/> != null);
<XDtForm:classNameLower/>DAO.verify();
}
public void testSave<XDtForm:className/>() throws Exception {
// set expected behavior on dao
<XDtForm:classNameLower/>DAO.expects(once()).method("save<XDtForm:className/>")
.with(same(<XDtForm:classNameLower/>)).isVoid();
<XDtForm:classNameLower/>Manager.save<XDtForm:className/>(<XDtForm:classNameLower/>);
<XDtForm:classNameLower/>DAO.verify();
}
public void testAddAndRemove<XDtForm:className/>() throws Exception {
<XDtForm:classNameLower/> = new <XDtForm:className/>();
// set required fields
<XDtMethod:forAllMethods>
<XDtMethod:ifMethodTagValueEquals tagName="hibernate.property" paramName="not-null" value="true">
<XDtMethodEx:setterWithValue/>
</XDtMethod:ifMethodTagValueEquals>
</XDtMethod:forAllMethods>
// set expected behavior on dao
<XDtForm:classNameLower/>DAO.expects(once()).method("save<XDtForm:className/>")
.with(same(<XDtForm:classNameLower/>)).isVoid();
<XDtForm:classNameLower/>Manager.save<XDtForm:className/>(<XDtForm:classNameLower/>);
<XDtForm:classNameLower/>DAO.verify();
// reset expectations
<XDtForm:classNameLower/>DAO.reset();
<XDtForm:classNameLower/>DAO.expects(once()).method("remove<XDtForm:className/>").with(eq(new <XDtMethodEx:idField getType="propertyType"/>(<XDtForm:classNameLower/>Id)));
<XDtForm:classNameLower/>Manager.remove<XDtForm:className/>(<XDtForm:classNameLower/>Id);
<XDtForm:classNameLower/>DAO.verify();
// reset expectations
<XDtForm:classNameLower/>DAO.reset();
// remove
Exception ex = new ObjectRetrievalFailureException(<XDtForm:className/>.class, <XDtForm:classNameLower/>.<XDtMethodEx:idField getType="getterName"/>());
<XDtForm:classNameLower/>DAO.expects(once()).method("remove<XDtForm:className/>").isVoid();
<XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>").will(throwException(ex));
<XDtForm:classNameLower/>Manager.remove<XDtForm:className/>(<XDtForm:classNameLower/>Id);
try {
<XDtForm:classNameLower/>Manager.get<XDtForm:className/>(<XDtForm:classNameLower/>Id);
fail("<XDtForm:className/> with identifier '" + <XDtForm:classNameLower/>Id + "' found in database");
} catch (ObjectRetrievalFailureException e) {
assertNotNull(e.getMessage());
}
<XDtForm:classNameLower/>DAO.verify();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -