我使用的是Spring Oauth,我试图将测试数据插入oauth_client_token表(客户端Spring Oauth 2)。当我查看Spring Oauth JdbcClientTokenService.saveAccessToken
的字节码时,我看到了这一点:
jdbcTemplate.update(
insertAccessTokenSql,
new Object[] { accessToken.getValue(), new SqlLobValue(SerializationUtils.serialize(accessToken)),
keyGenerator.extractKey(resource, authentication), name,
resource.getClientId() }, new int[] { Types.VARCHAR, Types.BLOB, Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR });
我关注的是此部分new SqlLobValue(SerializationUtils.serialize(accessToken))
正在生成对象的字节。我希望DBUnit能够在集成测试期间插入所有这些数据。我之前做的是生成一些随机字符串的base64字节字符串,让DBUnit插入它。但是,当调用JdbcClientTokenService.getAccessToken
,在字节上调用SerializationUtils.deserialize时,我得到不正确的标头异常。我相信这是因为,base64没有生成与SerializationUtils.serialize相同的输出。让我知道是否有一种方法让我使用DBUnit插入正确的数据。
由于