Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NamedParameterJdbcTemplate单元测试_Java_Spring_Unit Testing - Fatal编程技术网

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框架来模拟方法结果