1 技术须要积累

前几天去一位笛友小赖家玩,才知道他的笛子吹得好不是偶然。是由于他真的用功了,电脑里面下载有超多的视频、教程等!这真的非常让我震撼!一直是在公司做技术,但资料考不出来,而我整理了多少技术资料呢?



所以。有了把这些天用到的数据库測试工具 SQLUnit 搭建好开发环境和简单用法整理出来的想法。

没准以后又会再用得到呢~

2 环境要求

环境高速搭建



1. SQLUnit



2. Apache Ant



Apache Ant入门演示样例



3. Java

3 编译

进入 SQLUnit 根文件夹

// 编译成公布版的 jar 文件
ant install ant test

4 MySQL 连接測试演示样例

參照 sqlunit-5.0/test/mysql/README 说明。

因为 MySQL 不支持存储过程。下面測试。均是演示非存储过程的測试。

4.1 建立数据库

create database sqlunitdb;
use sqlunitdb;

4.2 编辑连接信息

编辑 sqlunit-5.0/test/mysql/connectiontest.xml 中。改动成正确的username和password。

4.3 拷贝測试目标到根文件夹

cp connectiontest.xml ../../

4.4 运行

ant -Dlog.format=canoo -Doutput.file=demotest.xml -Dtestfile=connectiontest.xml sqlunit-flat canoo2html



測试结果将生成为 xml 和 html 文件。比如 html 的显示结果例如以下图所看到的:

5 问题及解决

5.1 Problem: failed to create task or type sqlunit. Cause: The name is undefined.

不应该在 build.xml 中添加測试目标,当时我採用的方式是在 build.xml 中加入了例如以下測试目标,调用时出现了错误。





  <!-- 測试 MySQL 数据用例 -->

  <target name="mysql-connection-test">

    <sqlunit testfile="test/mysql/connectiontest.xml" 

             haltOnFailure="false" debug="false" />

  </target>





正确运行測试的方式。应该是在 build.xml 文件夹下。放置測试的 xml 文件。然后运行生成測试 html 结果的文件方式,就可以。

5.2 BUILD FAILED 无法编译样式表

改动 canoo2html_result_transform.xsl 文件。凝视第二行引用到的 TestResults.xsl 文件。

5.3 com.mysql.jdbc.Driver not found in specified Context

将 mysql 的连接库放到 lib 目录就可以。比如。直接将 mysql-connector-java-5.1.12-bin.jar 文件复制到 lib 目录中。

SQLUnit 环境搭建的更多相关文章

  1. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  2. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  3. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  4. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  5. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  6. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  7. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  8. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  9. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

随机推荐

  1. ERP渠道文档管理(二十四)

    基本需求: 用例图: 存储过程: CREATE PROCEDURE [dbo].[BioErpCrmChannelDocument_ADD] @DocumentID int, @ChannelID i ...

  2. 第四届CCF软件能力认证

    1.图像旋转 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可. 输入格式 输 ...

  3. 用python实现一个无界面的2048

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5519453.html 以前游戏2048火的时候,正好用其他的语言编写了一个,现在学习python,正好想起来,便决定 ...

  4. 使用URLEncoder、URLDecoder进行URL参数的转码与解码

    1. import java.net.URLDecoder; import java.net.URLEncoder; String strTest = "?=abc?中%1&2< ...

  5. 019.Zabbix的Trigger及相关函数

    一 告警简介 告警指将达到某一个阀值事件的消息发送给用户,让用户在事件发生的时候即可知道监控项处于不正常状态,从而采取相应的措施.在Zabbix中,高进是由一系列的流程组成,首先是触发器达到阀值,接下 ...

  6. IntellijIDEA快速入门(Windows版)

    跟随公司变更技术堆栈的步伐,开始学习相应工具IntelliJ的使用,之前一个大神同时也提到,最近该IDE的市场份额已然超越了免费的Eclipse,因此该工具已经到了必须会的程度了. 新年快乐,鸡年大吉 ...

  7. 最牛逼的任务调度工具 | Quartz

    Quartz 是一个完全由 Java 编写的开源作业调度框架,不要让作业调度这个术语吓着你,其实不难.尽管 Quartz 框架整合了许多额外功能,但就我们使用来说,你会发现它易用得简直让人受不了! 简 ...

  8. 重写(Override) 重载(Overload)

    重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重载(Overload)- 参数必须不同 重载(overloadin ...

  9. Xamarin iOS教程之警告视图

    Xamarin iOS教程之警告视图 Xamarin iOS警告视图 如果需要向用户显示一条非常重要的消息时,警告视图(UIAlertView类)就可以派上用场了.它的功能是把需要注意的信息显示给用户 ...

  10. progress进度条的样式修改

    由于公司在做的公众号上需要进度条,我就想着用progress标签,可是progress标签很难修改样式,因而在网上查询了一番. 现在总结一下. progress是H5新标签,主要用于显示进度条.由于他 ...