liuzitinglijun 2009-04-09 08:16
浏览 317
已采纳

关于持久层的测试问题

大家好!
最近在自己做一个项目,老是被一些常规问题卡住,希望大家能够帮我一起想想办法,谢谢了。

1.TOMCAT6.0 中,我在WEB工程的META-INF目录中配置了一个CONTEXT.XML的文件,用来配置应用程序的公共数据源。在程序中用SPRING框架的JNDI访问数据源的方式将数据源加载进去。
问题:
a) 目前我的程序大体分为逻辑上的三层:DAO(持久层),SERVICE(业务层),WEB(控制层),DAO层用的技术是IBATIS,之前没有想到需要使用SPRING,所以我直接在SqlMapConfig.properties中配置了链接数据库的相关字符串,直接点说就是用了IBATIS链接数据库的方式进行了数据库的连接,所以在测试的时候非常方便,在持久层内写了一些相关的访问数据库的方法后非常方便的就能够在本地测试这些访问是否成功,详细代码如下:
[code="java"]
// test mothod must test****
public void testGetUserProfile()
{
try
{
UserProfile userProfile = userProfileDaoiBatis
.getUserProfile("N0001");
System.out.println(userProfile.getUserName());
System.out.println(userProfile.getTelePhone());

        Assert.assertNotNull(userProfile.getUserName());
    } catch (Exception e)
    {
        e.printStackTrace();
    }
}

[/code]
但是,如果换成了TOMCAT6.0配置数据源的方式,并且用SPRING读取数据源,那是不是每次我JUNIT单体测试的时候都需要启动服务器,发布我的应用程序才行?这样不是很麻烦?有没有更好的方法?

b) 我现在用ECLIPSE进行开发,之前都是用MYECLIPSE开发的,我记得用MYECLIPSE的时候每次只要是修改JSP页面的一些元素好像程序都是不需要重新编译的,只有修改了类文件后才需要重新编译并部署一下应用程序。那现在用ECLIPSE我用的是ANT编译和部署应用程序,我的部署是直接将应用程序打成WAR包后再部署到TOMCAT服务器上,虽然执行一下脚本就好了,也很方便,但是如果我是做页面样式的调整,一点点的宽度一点点的调整,那是不是每一次调整都要执行一下脚本。。。。这样太麻烦了,是否有其他更好的方法,能够让页面文件直接能够映射到服务器上的页面文件中?也像MYECLIPSE一样修改页面文件直接可以运行程序查看结果?MYECLIPSE是如何实现的?

谢谢大家!!!

  • 写回答

1条回答 默认 最新

  • hantsy 2009-04-14 21:57
    关注

    单元测试的时候,可以 DriverManagerDataSource ,直接在Spring 配置就行了。
    集成测试和真实环境,可以在容器真实环境中运行,使用其它 DataSource 替代,可以获得更好的性能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵