我有以下结构:
public class MyDao{
private JdbcTemplate jdbcTemplate;
private DataSource dataSource;
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public VCASDao(DataSource dataSource ){
jdbcTemplate = new JdbcTemplate(dataSource);
}
}
一些经理阶层
public class MyManager{
MyDao dao = null;
private DataSource dataSource;
public MyManager(){}
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void someMethod(Object o){
dao.save(o);
}
}
}
public class MyFacadeClass{
private MyManager manager;
public MyFacadeClass(){
manager = new MyManager();
}
public void someFacadeMethod(Object o){
manager.someMethod(o);
}
}
@Mock
static BasicDataSource dataSource ;
@Mock
static JdbcTemplate jdbcTemplate ;
@Mock
MyDao dao;
MyFacadeClass myFacadeClass = new MyFacadeClass();
@BeforeClass
public static void init(){
dataSource = new BasicDataSource();
dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
dataSource.setUrl("jdbc:hsqldb:mem:Test");
dataSource.setUsername("sa");
dataSource.setPassword("");
dataSource.setInitialSize(5);
dataSource.setMaxActive(10);
dataSource.setPoolPreparedStatements(true);
dataSource.setMaxOpenPreparedStatements(10);
jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate
.execute("create Some Table");
}
@Test
public void testSomeFacadeMethod(){
Object o = new Object();
myFacadeClass.someFacadeMethod(o);
}
更新:
我更改了我的类,但现在dao对象为空。
从您发布的内容来看,我认为您希望测试MyFacadeclass
。如果确实是这样的话,你在这里嘲笑的东西是错误的。
唯一有趣的关系是MyFacadeClass
->MyManager
。JNDI和JdbcTemplate甚至对MyFacadeClass
都不可见,为什么要在测试中显示它们;)
以下是我将继续的方向,同时保持相同的体系结构:
希望能有所帮助。
有一个项目将涉及到sftp文件传输到服务器。我已经尝试使用ftp协议,并选择winscp.exe-sftp作为我的程序来录制。有事件被记录,但没有生成后,我完成了记录。 提前谢了。
本文向大家介绍关于 angularJS的一些用法,包括了关于 angularJS的一些用法的使用技巧和注意事项,需要的朋友参考一下 AngularJS 事件指令: 和ng-click一样,都是给dom绑定事件的 需要注意的是,使用事件对象的时候,需要在ng-click等指令里传入$event,如: 表单指令 当值发生改变的时候就会有用 有value值的一些个标签,能ng-model的,才能用哟 必
1.首先,我想确认一下从编程的角度,我们有“静态类型检查”和“动态类型检查,对把? 2.一般情况下我们用typescript做静态类型检查,检查源码里面自定义数据类型,对把? 3.那么,我们做的所谓的动态类型检查是不是指的那些库,比如Joi,ajv什么的,比如你点击一个按钮,然后调这个库来检查一个obj的schema,如果类面的key value类型都能对的上,我们就通过,如果类型对不上,我们就报
本文向大家介绍C# 关于AppDomain的一些总结,包括了C# 关于AppDomain的一些总结的使用技巧和注意事项,需要的朋友参考一下 前言 一直想写一个这样的程序:与其它的程序完全解耦,但可以动态的加载其它程序,并执行其中的特定方法,执行完后可以卸载,完全不影响该程序本身。最近无意间发现了 C# 中 AppDomain,再加上反射,感觉就是我所需要的。 基本概念 应用程序域为安全性、可靠性、
本文向大家介绍JavaScript中关于base64的一些事,包括了JavaScript中关于base64的一些事的使用技巧和注意事项,需要的朋友参考一下 base64 其实是一种编码转换方式, 将 ASCII 字符转换成普通文本, 是网络上最常见的用于传输8Bit字节代码的编码方式之一。 base64 由字母 a-z 、 A-Z 、 0-9 以及 + 和 / , 再加上作为垫字的 = , 一共6
本文向大家介绍关于NoSQL之MongoDB的一些总结,包括了关于NoSQL之MongoDB的一些总结的使用技巧和注意事项,需要的朋友参考一下 NoSQL已经流行了很长一段时间,那么究竟是什么场景下你才更需要用到这些“新兴事物”,就比如MongoDB?下面是一些总结: 你期望一个更高的写负载 默认情况下,对比事务安全,MongoDB更关注高的插入速度。如果你需要加载大量低价值的业务数据,那么Mon