请问下我应该怎么写我的测试代码?
代码如下:
接口:public interface IMobNumSectionDAO {
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException;
采用strut2+iBATIS!
DAO中iBATIS:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="mobNumSection"> <typeAlias alias="mobNumSection" type="com.funo.nisp.xtgl.vo.MobNumSection"/>
<!-- 添加手机号段 -->
<insert id="mns.inserMobNumSection" parameterClass="mobNumSection">
insert into cfg_mobnumsection(number,areaCode,areaName)
values(
#number#,
#areaCode#,
#areaName#
)
</insert>
DAO层:
public class MobNumSectionDAO extends BaseSqlMapDAO implements
IMobNumSectionDAO {
private Logger log = Logger.getLogger(this.getClass());
public MobNumSectionDAO(DaoManager daoManager) {
super(daoManager);
}
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException{
try{
return(Integer)insert("mns.inserMobNumSection", mobNumSection);
}catch(Exception e){
log.error("inserMobNumSection\n添加列表号段时出现异常\n"+e.toString());
throw new DataAccessException("添加列表号段时出现异常");
}
}
service层:
public class MobNumSectionService { private IMobNumSectionDAO mobNumSectionDAO;
static private MobNumSectionService mobNumSectionService;
static public MobNumSectionService getInstance(){
if(mobNumSectionService == null){
mobNumSectionService = new MobNumSectionService();
}
return mobNumSectionService;
} public MobNumSectionService() {
DaoManager daoMgr = DaoConfig.getDaoManager();
mobNumSectionDAO = (IMobNumSectionDAO) daoMgr.getDao(IMobNumSectionDAO.class);
}
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException{
return mobNumSectionDAO.inserMobNumSection(mobNumSection);
}
daomain中JavaBean:
public class MobNumSection { private Integer id;
private String number;
private Integer areaCode;
private String areaName;
请问下junit是否可以测试每一层?
还有DAO,service层测试添加的代码应该怎么写?。
谢谢!麻烦帮我看下,最好写一段测试代码,谢谢!
代码如下:
接口:public interface IMobNumSectionDAO {
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException;
采用strut2+iBATIS!
DAO中iBATIS:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="mobNumSection"> <typeAlias alias="mobNumSection" type="com.funo.nisp.xtgl.vo.MobNumSection"/>
<!-- 添加手机号段 -->
<insert id="mns.inserMobNumSection" parameterClass="mobNumSection">
insert into cfg_mobnumsection(number,areaCode,areaName)
values(
#number#,
#areaCode#,
#areaName#
)
</insert>
DAO层:
public class MobNumSectionDAO extends BaseSqlMapDAO implements
IMobNumSectionDAO {
private Logger log = Logger.getLogger(this.getClass());
public MobNumSectionDAO(DaoManager daoManager) {
super(daoManager);
}
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException{
try{
return(Integer)insert("mns.inserMobNumSection", mobNumSection);
}catch(Exception e){
log.error("inserMobNumSection\n添加列表号段时出现异常\n"+e.toString());
throw new DataAccessException("添加列表号段时出现异常");
}
}
service层:
public class MobNumSectionService { private IMobNumSectionDAO mobNumSectionDAO;
static private MobNumSectionService mobNumSectionService;
static public MobNumSectionService getInstance(){
if(mobNumSectionService == null){
mobNumSectionService = new MobNumSectionService();
}
return mobNumSectionService;
} public MobNumSectionService() {
DaoManager daoMgr = DaoConfig.getDaoManager();
mobNumSectionDAO = (IMobNumSectionDAO) daoMgr.getDao(IMobNumSectionDAO.class);
}
/**
* 添加列表号段
*/
public Integer inserMobNumSection(MobNumSection mobNumSection)throws DataAccessException{
return mobNumSectionDAO.inserMobNumSection(mobNumSection);
}
daomain中JavaBean:
public class MobNumSection { private Integer id;
private String number;
private Integer areaCode;
private String areaName;
请问下junit是否可以测试每一层?
还有DAO,service层测试添加的代码应该怎么写?。
谢谢!麻烦帮我看下,最好写一段测试代码,谢谢!
解决方案 »
- struts2_在当前命名空间找不到对应action,回到父命名空间找吗?
- 请教一个HQL语句的写法
- 集成 spring + hibernate + struts 数据库映射问题 找不到数据库表
- hibernate和struts的老问题,未解决!
- struts2连接数据库
- struts+extremetable question!
- 有关tomcat的配置问题。---上传无法实现应用服务。多谢各位!~
- 急!!!高分200求通用的J2EE解决方案文章,最好是英文文章。
- 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
- java POI 导出Excel文件并弹出下载框 不报错 数据正确就是不会弹出提示框???
- 图解eclipse+myelcipse开发EJB
- 我用JSTL在页面跳转的时候传了参数,到另一个页面接收怎么是空呢 !!!
public class AreaServiceImplTest {
ApplicationContext context = null;
IAreaService areaService = null;
@Before
public void setUp() {
context = new ClassPathXmlApplicationContext("app*.xml");
areaService = (IAreaService) context.getBean("areaService");
}
/**
* 测试根据地区编号查询 */
@Test
public void testQueryAreaByNo() {
Area area = areaService.queryAreaByNo(730);
Assert.assertEquals(area.getAreaName(), "岳阳");
} @After
public void afert(){
context = null;
areaService = null;
}
@Before 初始化测试类要用的一些共用的类
@Test 测试方法
@After 释放资源
IAreaService areaService = null;
ApplicationContext 的jar包在iBATIS中使用的;我邮箱[email protected]谢谢!
我看了下别人在spring中是这么写的但我不知道在这怎么写?
在web.xml文件中
<context-param>
<param-name>contextConfigLocation </param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml </param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap> <typeAlias alias="User" type="com.elifefly.User" />
<!-- 查找所有用户 -->
<select id="selectAllUser" resultClass="User"> select * from user; </select> <!-- 通过id查找用户 -->
<!-- parameterClass表示参数类型 -->
<select id="selectUserById" parameterClass="int"
resultClass="User">
select * from user where userId = #userId#
</select> <!-- 添加用户 -->
<insert id="insertUser" parameterClass="User">
insert into user(userId,userName,userPassword,userFlag)
values(#userId#,#userName#,#userPassword#,#userFlag#);
<!-- 注意这里的#userId#对应User.java中的get和set方法属性的,要与其对应,修改的时候要对应 -->
</insert> <!-- 删除用户 -->
<delete id="deleteUserById" parameterClass="int">
delete from user where userId = #userId#
<!-- 特别注意:这个delete中的 #userId#可以改为任意的其他如 #Id#等,而在其他如select等语句不可行 -->
</delete> <!-- 修改用户 -->
<update id="updateUserById" parameterClass="User">
update user set userName = #userName#, userPassword =
#userPassword#, userFlag = #userFlag# where userId = #userId#
</update> <!-- 模糊查询,通过用户名查找用户 -->
<select id="selectUserByName" parameterClass="String"
resultClass="User">
select userId,userName,userPassword,userFlag from user where
userName like '%$userName$%'
<!-- 非常注意:这个'%$userName$%'中的$符号和#的不同使用之处,$表示会用变量的只替换掉,用#是不行的,#是占位符 -->
</select>
<!-- 添加用户,获取自动增长的序列号,处理添加相同的userId情况 -->
<insert id="insertUserBySequence" parameterClass="User">
<selectKey resultClass="int" keyProperty="userId">
SELECT @@IDENTITY as userId
</selectKey> insert into user(userId,userName,userPassword,userFlag)
values(#userId#,#userName#,#userPassword#,#userFlag#); </insert></sqlMap>
@BeforeClass
public static void setUpBeforeClass() throws Exception {
is = new FileInputStream("com/funo/nisp/xtgl/dao/sqlmapdao/sql/mobNumSection.xml");
}
请问下我这路径应该怎么写?。