junit测试时报空指针

cloudqi 2012-04-26 07:18:48
我使用的是seasar2框架
使用junit的时候,写了一个dao方法和SQL语句,都是根据原来的代码拷贝出来的,但在原来的junit测试类中原来人家的方法可以通过,而我写的却通不过,dao方法和SQL语句都一样,报空指针

dao:
public class CbnkTangenkensakuTDaoCloud extends
AbstractBaseDao<CbnkTangenkensakuTEntity> {

/**
* <pre>
* 表示学年と教科コードより単元検索エンティティを取得する
* </pre>
*
* @param gakunen 表示学年
* @param kyoukaCode 教科コード
* @return CbnkTangenKensakuTEntity 単元検索エンティティ
*/
public CbnkTangenkensakuTEntity getCbnkTangenKensakuTEntity(
final String gakunen, final String kyoukaCode) {

// 検索条件を設定する
final Map<String, Object> param = new HashMap<String, Object>();
param.put("gakunen", gakunen);
param.put("kyoukaCode", kyoukaCode);

// DBアクセス
return jdbcManager.selectBySqlFile(CbnkTangenkensakuTEntity.class,
getSqlFileName(), param).getSingleResult();
}
}

SQL:
SELECT
SENTAKU_KOUMOKU,KOUDOU_SHIJI_BUN,TANGEN_KENSAKU_SHIJI_BUN,GROUPING_LEVEL
FROM
CBNK_TANGENKENSAKU_T
WHERE
GAKUNEN = /*gakunen*/
and
KYOUKA_CODE = /*kyoukaCode*/

TEST:

protected TestContext testContext;
protected DataAccessor dataAccessor;

private CbnkTangenkensakuTDaoCloud cbnkTangenkensakuTDao;
// private CbnkTangenkensakuTDao cbnkTangenkensakuTDao;
public void before(){
testContext.setPreparationType(PreparationType.ALL_REPLACE);
}
@Test
public void testGetKensakuJokenPattern_Case8(){
String gakunen ="C1";
String kyoukaCode="E";
dataAccessor.readXlsAllReplaceDb("CbnkTangenkensakuTDao_getCbnkTangenKensakuTEntity.xls");
CbnkTangenkensakuTEntity cbnkTangenKensakuTEntity=cbnkTangenkensakuTDao.getCbnkTangenKensakuTEntity(gakunen, kyoukaCode);
DataSet dataSet=testContext.getExpected();
assertEquals(dataSet,cbnkTangenKensakuTEntity);

}
...全文
165 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧