Java NamedParameterJdbcTemplate单元测试
如何创建此服务类的单元测试:Java NamedParameterJdbcTemplate单元测试,java,spring,unit-testing,Java,Spring,Unit Testing,如何创建此服务类的单元测试: @Service public class PhoenixService implements IPhoenixService { private Logger log = LoggerFactory.getLogger(PhoenixService.class); private static final String WHERE = " WHERE "; private static final String FROM = " FROM
@Service
public class PhoenixService implements IPhoenixService {
private Logger log = LoggerFactory.getLogger(PhoenixService.class);
private static final String WHERE = " WHERE ";
private static final String FROM = " FROM ";
private static final String SELECT = "SELECT ";
@Autowired
@Qualifier("phoenixNamedParameterJdbcTemplate")
private NamedParameterJdbcTemplate phoenixNamedParameterJdbcTemplate;
@Override
public List<Account> getInternalAccount(String accountNo) throws Exception {
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("accountNo", accountNo);
String queryGetId = SELECT + ACCOUNT_IDENTIFIER + FROM
+ "SCHEMA" + "."
+ ACCOUNT + WHERE
+ ACCOUNT_NUMBER_TEXT + " = :accountNo";
List<Account> accounts = phoenixNamedParameterJdbcTemplate.query(queryGetId, parameters,
new RowMapper());
if (accounts.isEmpty()) {
//SomeThing
}
return accounts;
}
}
@服务
公共类Phoenix服务实现IPHOenix服务{
私有记录器log=LoggerFactory.getLogger(PhoenixService.class);
私有静态最终字符串WHERE=“WHERE”;
私有静态最终字符串FROM=“FROM”;
私有静态最终字符串SELECT=“SELECT”;
@自动连线
@限定符(“phoenixNamedParameterJdbcTemplate”)
私有名称参数jdbc模板Phoenix名称参数jdbc模板;
@凌驾
公共列表getInternalAccount(字符串accountNo)引发异常{
MapSqlParameterSource参数=新的MapSqlParameterSource();
参数addValue(“accountNo”,accountNo);
String queryGetId=SELECT+ACCOUNT\u IDENTIFIER+FROM
+架构“+”
+帐户+位置
+账户号\文本+“=:账户号”;
List accounts=phoenixNamedParameterJdbcTemplate.query(queryGetId,参数,
新的行映射器());
if(accounts.isEmpty()){
//某物
}
归还账户;
}
}
我试着搜索,但没有找到。
很抱歉,我是Java新手,尤其是单元测试
另外,我的环境不允许连接到DB进行单元测试。
谢谢使用像H2这样的内存中数据库如果你想避免与数据库的连接,你可以使用Mockito框架来模拟方法结果