junit测试时报空指针
我使用的是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);
}