junit链接mysql_junit 测试从数据库连接池取连接

一个简单的从服务器的数据库连接池中取数据库连接。要如何来测试?

public static Connection getConnectionFromContext() {

try {

Context initalContext = new InitialContext();

Context envContext = (Context) initalContext

.lookup("java:/comp/env");

DataSource ds = (DataSource) envContext.lookup("jdbc/mySQLServer");

Connection conn = ds.getConnection();

return conn;

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

分析:

因为依赖的外在环境是服务器中关于应用(数据库连接)的配置文件

junit的几种测试策略中,似乎没有关于对这样一种情况的?这该如何来测试呢?

问题补充:

引用

你不用mock对象是对的,应该用真实环境的连接来单元测试啊,

感谢兄弟的回答,可是单元测试的一个原则就是能够进行独立隔离的测试,如果要配置实际的环境,无法实现自动化测试啊。

有个想法就是修改功能代码,将new InitialContext()采用有参数的构造方式,将所需要的配置信息通过参数传入,那么就能够进行测试了吧。

问题补充:

两位的回答,都感觉是那么一回事。想两种方法都试;但无论是选择哪种方法,都感觉无从下手。

1 在资源文件中如何配置一个datasource的信息,不知道如何下手。能否有个示例:

type="javax.sql.DataSource" />

factory

org.apache.commons.dbcp.BasicDataSourceFactory

driverClassName

com.microsoft.jdbc.sqlserver.SQLServerDriver

url

jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs

username

sa

password

sa

maxActive

20

maxIdle

10

maxWait

-1

而如果用容器内测试,那我的数据库连接的配置文件要放在哪里?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值