2016-04-09 17 views
2

私はJunitテストの初心者です。この場合、rowmapperのような匿名の内部メソッドのjunitテストケースの記述方法これは私のクラスのメソッドで、Junitのテストケースを書いています。内部メソッドのjunitテストケースの書き方は?

public List<AssetAvailabilityRef> getAssetAvailabilityRef() { 

     List<AssetAvailabilityRef> refList = this.jdbcTemplate.query(MaintenanceLdrDao.assetAvailabilityRefQuery, 
       new RowMapper<AssetAvailabilityRef>() { 

        @Override 
        public AssetAvailabilityRef mapRow(ResultSet rs, int arg1) throws SQLException { 
         AssetAvailabilityRef assetAvailabilityRef = new AssetAvailabilityRef(); 
         assetAvailabilityRef.setSourceCode(rs.getString("source_asset_availability")); 
         assetAvailabilityRef.setDestinationCode(rs.getString("dest_asset_availability")); 
         assetAvailabilityRef.setLoadType(rs.getInt("load_type")); 

         return assetAvailabilityRef; 
        } 
       }); 

     return refList; 
    } 
+0

「RowMapper」をパブリッククラスにして、それにJUnitを書き込む方法もあります。通常、内部クラスは外部から隠されているブラックボックスとみなされるため、JUnitはそれらのために記述されません。 – user2004685

+1

お返事ありがとうございます – priyanka

答えて

1

RowMapperを公開クラスにして、それにJUnitを書き込むことです。

通常、内部クラスは外界から隠された黒いボックスとみなされるため、JUnitはそれらのために書き込まれません。ここで

は、コードスニペットです:

public class AssetAvailabilityRefRowMapper implements RowMapper { 
    @Override 
    public AssetAvailabilityRef mapRow(ResultSet rs, int arg1) throws SQLException { 
     AssetAvailabilityRef assetAvailabilityRef = new AssetAvailabilityRef(); 
     assetAvailabilityRef.setSourceCode(rs.getString("source_asset_availability")); 
     assetAvailabilityRef.setDestinationCode(rs.getString("dest_asset_availability")); 
     assetAvailabilityRef.setLoadType(rs.getInt("load_type")); 
     return assetAvailabilityRef; 
    } 
} 

public List<AssetAvailabilityRef> getAssetAvailabilityRef() { 
    return (List<AssetAvailabilityRef>) this.jdbcTemplate.query(
              MaintenanceLdrDao.assetAvailabilityRefQuery, 
              new AssetAvailabilityRefRowMapper()); 
} 

さて、あなたは両方のこれらのクラスのJUnitsを書く必要があります。

AssetAvailabilityRefRowMapperまた、MockitoまたはEasyMockを使用して、サービスクラスのJUnitsを書くことができます。

関連する問題