組織是一個POJO。 下面是測試類:JMockit - java.lang.ClassCastException:java.lang.String不能轉換爲組織
@Tested
DAOImpl daoImpl;
@Injectable
JdbcTemplate mockJdbcTemplate;
@Mocked
DAO ssoDAO;
@Before
public void setup() {
daoImpl = new DAOImpl();
daoImpl.setJdbcTempate(mockJdbcTemplate);
}
@Test
public void testAddOrg() {
final String expectedId = "7c82facc";
final String expectedOrg = "one";
new Expectations() {{
mockJdbcTemplate.queryForObject(DAOImpl.GET__KEY_FOR_ORG_IDS, (DAORowMapper) any, expectedId, expectedKeys);
result = expectedKeys;
}};
Organization actualKey =daoImpl.addOrg(expectedId, expectedKeys);
assertEquals(expectedKeys, actualKey);
}
}
下面是測試類:與方法,我測試了:
@Repository(value = "dao")
public class DAOImpl implements DAO {
private JdbcTemplate jdbcTemplate;
static final String GET_KEY_FOR_ORG_IDS = "select keys from table where id=?";
static final String DATASOURCE_BEAN = "dataSource";
@Autowired
public void createTemplate(
@Qualifier(value = DATASOURCE_BEAN) DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public SASOrganization addOrgSASRelationship(String orgIds, String orgKeys) {
try {
Organization key = jdbcTemplate.queryForObject(GET_KEY_FOR_ORG_IDS, new DAORowMapper(), id, keys);
return key;
} catch (EmptyResultDataAccessException e) {
return null;
}
}
public void setJdbcTempate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
問: 我正在java.lang.ClassCastException
。
如何解決這個特定的代碼? 如果你可以提供一個編輯的代碼或一個很好的解釋。
爲什麼選擇JMockit? Mockito簡單而美麗:) – MariuszS
這是要求 – Thunder