1
我寫了一個單元測試,測試DAO的保存方法,我敢肯定,我保存方法的工作,但是,當我跑我的單元測試就遇到了這個錯誤:單元測試
junit.framework.ComparisonFailure: row count (table=RECONCILIATION_OBJECT_HANDLER) expected:<[4]> but was:<[3]>
這裏是我的單元測試代碼:
@Test
@Transactional
@Rollback(true)
@ExpectedDatabase(value="classpath:/expectedTable/expectedReconciliationHandler.xml",table="RECONCILIATION_OBJECT_HANDLER")
public void testsaveSingleHandler() {
ReconciliationObjectHandler handler = new ReconciliationObjectHandler();
handler.setObjectName("employee");
handler.setHandler("NewHandler");
dao.saveSingleHandler(handler);
}
這裏是我的預計業績:
<RECONCILIATION_OBJECT_HANDLER id="0"
OBJECT_NAME="employee"
HANDLER="FieldNameHandler" />
<RECONCILIATION_OBJECT_HANDLER id="1"
OBJECT_NAME="employee"
HANDLER="PickListHandler" />
<RECONCILIATION_OBJECT_HANDLER id="2"
OBJECT_NAME="employee"
HANDLER="SimpleHandler" />
<RECONCILIATION_OBJECT_HANDLER id="3"
OBJECT_NAME="employee"
HANDLER="NewHandler" />
-----------------更新----- ---------------- ------------------------
我意識到我並不需要添加註釋回滾,我需要提供所有的信息欄結果比較,但是,每次我運行單元測試的INSERT操作將列「ID」的自動增量而產生的「ID」 fireld不會匹配在XML文件中預期的結果,我怎麼能忽略比較列的「身份證」? 現在的錯誤信息是:
junit.framework.ComparisonFailure: value (table=RECONCILIATION_OBJECT_HANDLER, row=3, col=id) expected:<[3]> but was:<[12]>
刪除註釋「@Transaction」和「@Rollback」後出現另一個錯誤:ComparisonFailure:列計數(table = RECONCILIATION_OBJECT_HANDLER,expectedColCount = 3,actualColCount = 4)預期:<[HANDLER,[id,OBJECT_NAME]]>但是:<[HANDLER,[ID,OBJECT_NAME,SEQ]]> – ReturnHttp402