`
wx1569488408
  • 浏览: 79123 次
文章分类
社区版块
存档分类
最新评论

如何编写JNDI的测试用例

 
阅读更多

由于遇到一个系统使用的数据源是JNDI,因此需要编写测试用例,希望对需要的人有用,给自己也留个记录。

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import org.h2.jdbcx.JdbcConnectionPool;

import junit.framework.TestCase;

public class JunitDataSource extends TestCase {

    public void setUp() throws Exception {
        // rcarver - setup the jndi context and the datasource
        try {
            // Create initial context
            System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory");
            System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");
            InitialContext ic = new InitialContext();

            ic.createSubcontext("java:");
            ic.createSubcontext("java:/comp");
            ic.createSubcontext("java:/comp/env");
            ic.createSubcontext("java:/comp/env/jdbc");

            JdbcConnectionPool ds = JdbcConnectionPool.create(
                    "jdbc:h2:file:src/main/resources/test.db;FILE_LOCK=NO;MVCC=TRUE;DB_CLOSE_ON_EXIT=TRUE", "sa", "sasasa");
            // Construct DataSource
            // OracleConnectionPoolDataSource ds = new
            // OracleConnectionPoolDataSource();
            // ds.setURL("jdbc:oracle:thin:@host:port:db");
            // ds.setUser("MY_USER_NAME");
            // ds.setPassword("MY_USER_PASSWORD");

            ic.bind("java:/mydatasourcename", ds);
        } catch (NamingException ex) {
            Logger.getLogger(JunitDataSource.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public void testSimple() throws Exception {

        // Obtain our environment naming context
        Context initCtx = new InitialContext();

        // Look up our datasource
        DataSource ds = (DataSource) initCtx.lookup("java:/mydatasourcename");

        Connection conn = ds.getConnection();
        Statement stmt = conn.createStatement();

        ResultSet rset = stmt.executeQuery("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");


        while (rset.next()) {
          System.out.println("<<<\t"+rset.getString("TABLE_NAME"));
        }


    }

}


转载于:https://my.oschina.net/u/165676/blog/402709

分享到:
评论

相关推荐

    数据源性能测试用例

    本文将深入探讨“数据源性能测试用例”,重点关注C3P0和Druid这两个流行的数据库连接池技术。 一、数据源性能测试的意义 数据源性能测试旨在评估数据库连接池在高并发、大数据量场景下的表现,如响应时间、吞吐量、...

    用友自动化测试面试题目大全2

    本资源摘要信息涵盖了自动化测试面试的各个方面,包括测试用例和测试计划的编写、自动化测试工具的用途、QTP 的实现功能测试、测试计划的设计、测试用例的设计、技术和业务的重要性、测试数据的存储、Web 中的 ...

    Exam Paper.doc

    1. 英文测试用例和测试计划的编写:测试用例和测试计划是软件测试的重要组成部分。测试用例详细描述了如何执行特定的测试步骤,包括预期的结果,以验证软件功能是否符合需求。测试计划则涵盖了整个测试活动的策略,...

    JNDI代码样例

    6. **测试与调试**:编写测试用例来验证JNDI调用DLL的功能是否正常。确保所有的调用逻辑和参数传递都是正确的。 在提供的`demo`文件中,可能包含了一个完整的示例项目,包括Java代码、配置文件以及可能的测试用例。...

    JNDI-Injection-Exploit-1.0-SNAPSHOT-all.zip

    "all"可能表示该压缩包包含了所有相关的组件或测试用例。 描述中的内容与标题相同,没有提供额外的信息,但我们可以推测这可能是一个研究、教育或安全审计用途的工具包,用于理解和防范JNDI注入攻击。 标签"java ...

    DirSyncJNDI:通过使用JNDI测试DirSync

    【标题】"DirSyncJNDI:通过使用JNDI测试DirSync" 是一个与Java相关的项目,旨在利用Java Naming and Directory Interface (JNDI)进行目录同步操作。JNDI是一个API,它为Java应用程序提供了查找和访问各种命名和目录...

    java Web测试笔试.zip

    9. **Web安全**:包括XSS(跨站脚本攻击)、CSRF(跨站请求伪造)、SQL注入等,测试人员需要识别这些漏洞并编写测试用例以防止它们。 10. **性能测试**:使用工具如JMeter或LoadRunner,模拟大量并发用户,测试Web...

    sprin jms activemq 测试

    这些示例可能涵盖了如何创建消息生产者和消费者,如何配置ActiveMQ连接工厂,以及如何编写测试用例来验证消息传递的正确性。 总的来说,Spring与JMS和ActiveMQ的结合,为企业级应用提供了可靠且可扩展的消息传递...

    Jmeter使用手册

    在熟练掌握基础操作后,用户可以通过构建不同类型的测试用例来执行具体的测试,例如Web应用测试、JDBC测试、FTP测试和JNDI测试。测试计划中的各种配置,如定时器、监听器、断言等元素的配置,对于测试的成功执行至关...

    Java学习的中间件

    在"simpleJndi-test"中,我们可以看到与JNDI相关的测试用例。JNDI主要用于应用程序查找和绑定数据,如数据库连接池、邮件服务器配置等。通过JNDI,开发者可以将应用程序的配置信息从代码中分离,方便管理和更新。 2...

    JMeter中文使用手册

    JMeter还提供了一个用户手册,用于引导用户熟悉JMeter的基础知识,以及如何构建特定类型的测试用例,如Web测试计划、JDBC测试计划、FTP测试计划等。 JMeter的入门学习可以分为几个步骤:首先下载并安装JMeter,然后...

    史上最全!北大青鸟java学士后第二单元超市账单管理系统(包含oracle数据库创建的SQL代码)只要配置好JNDI就可以运行

    8. **单元测试和集成测试**:为了保证系统的稳定性和正确性,开发者需要编写测试用例,利用JUnit或Mockito等工具进行单元测试,验证单个功能的正确性;而集成测试则是检查各个模块间的协同工作。 9. **版本控制系统...

    org.liveSense.auth.ldap-1.0.5.zip

    xspec是XSLT的单元测试框架,它提供了编写XML格式的测试用例和验证XSLT转换结果的能力。Maven插件的目的是简化这个过程,使得开发者能够在构建生命周期中无缝地执行xspec测试,确保XSLT转换代码的质量和稳定性。 ...

    多数据源事务jta测试

    `Test_jta2`这个文件可能是测试代码的一部分,可能包含了设置多数据源、配置JTA环境、模拟事务操作以及异常处理的测试用例。通过分析这个文件,我们可以更深入地了解实际的实现细节。 总之,多数据源事务处理是复杂...

    DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试代码

    在项目中的"src"目录可能包含测试用例的Java代码,而"lib"目录则包含了这些连接池库的依赖。测试代码可能使用了JUnit或其他测试框架,通过执行特定的查询、事务操作来模拟真实应用的负载,然后收集并分析结果,以便...

    tomcat-jndi-datasource:将 tomcat-maven-plugin 与 JNDI 数据源一起使用

    这个项目可能包括了`pom.xml`文件(Maven配置),`src/main/webapp/META-INF/context.xml`(应用的上下文配置),以及相关的Java源代码和测试用例。 在实际开发中,你可能还需要考虑以下几点: 1. **连接池配置**:...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的...17.9.2 编写ForumManageController测试用例 17.10 部署和运行应用 17.11 小结 以下内容详见本书配书光盘: 附录A JavaMail发送邮件 附录B 在Spring中开发Web Service

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的...17.9.2 编写ForumManageController测试用例 17.10 部署和运行应用 17.11 小结 以下内容详见本书配书光盘: 附录A JavaMail发送邮件 附录B 在Spring中开发Web Service

Global site tag (gtag.js) - Google Analytics