最近在Linux下跑一个原来在window下能正常运行的程序时,在进行单元测试时dbunit在将xml中数据导入数据库的过程中报:Duplicate entry '????' for key 'xxx'错误,我最初怀疑是文件编码的问题,但是经过一翻检查发再并非是xml文件的编码有问题,而是mysql数据库的编码出了问明。过去在windows下安装mysql时会有一个完整的配置向导,其中一个环节是配置mysql的编码,一般我们会选择“对国际化进行最好支持”那一项。而在我的ubuntu下,由于是使用update center直接安装,安装过程中并没有提示对mysql的编码进行配置,这样安装完成的mysql的某些编码配置项就不是utf8了,我们可以通过SHOW VARIABLES LIKE 'character%';命令来查看所有的编码设置,你会发现有很多项都不是utf8编码的。如此一来,解决方法就很简单了,只需要打开/etc/mysql/my.cnf文件,在 client, mysql, mysqld,mysqld_safe段落里均加上default-character-set=utf8即可:
[client]
default-character-set=utf8[mysql]default-character-set=utf8[mysqld]default-character-set=utf8[mysqld_safe]default-character-set=utf8
修改完成后重起mysql,依然用SHOW VARIABLES LIKE 'character%';检查字符编码,如果所有字符编码均为utf8(character_set_filesystem
除外),就说明所有编码都以改为了utf8了。完成了这一工作后,drop掉原来的数据库,重新执行单元测试,运行通过。
分享到:
相关推荐
DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类DBUNIT 基类...
文档是关于DBUnit的ant的使用文档,通俗易懂
最新的最全的dbunit jar包以及入门教程
dbunit-2.4.9 源码 http://www.dbunit.org/apidocs/index.html 代码 API
DBUNIT使用的详细文档
dbunit的jar包,版本2.2
dbunit开发文档,供需要用dbunit进行开发的人使用
dbunit入门实例 dbunit入门实例 dbunit入门实例 dbunit入门实例
Junit,dbunit单元测试jar包
dbunit2.2完全包 数据库单元测试
dbunit测试demo,具体可以结合博文https://i.cnblogs.com/EditPosts.aspx?postid=10653984
Dbunit 基本原理就是在跑测试用例运行之前对数据表做用户定义的操作,清空不想要的数据,插入用户自定义的数据,使得该数据表处于用户知道的一种状态。而用户自定义的数据使用项目里的一个 xml 文件来表示。 Xml ...
dbUnit is a JUnit extension targeted for database-driven projects that, among other things, puts your database into a known state between test runs. Last Updated: 2015-09-07
dbunit-2.2.3..jar dbunit-2.4.2.jar dbunit-2.5.3.jar dbunit-2.7.0.jar 发现每个版本对JDK是有要求的,比如2.7 只能用于JDK1.8版本,所以整理好几个jar包挑选适合自己的
直接从http://www.dbunit.org/apidocs/index.html上下载的HTML文件的压缩包。 因为没有做成CHM,所以只要1分就行~
一个很好的DBUnit的例子 博文链接:https://virgoooos.iteye.com/blog/186859
dbunit是一个基于junit扩展的数据库测试框架。 更多资源详见: http://blog.csdn.net/fanxiaobin577328725/article/details/51894331 (包含图书各部分和随书源码,还有其它资源的详细下载地址)
用dbunit的两个例子,很不错,有帮助
dbunit-2.4.2.jar dbunit 必要的一个jar
dbunit使用必需Jar包,总共4个必需Jar包