近来一直在弄testNG,弄得想吐血
记得最开始的时候是分清楚单元测试和继承测试的区别,然后看Seam-Reference第31章的内容,当时看的可以说稀里糊涂,好像明白,但知道一用肯定问题就都出来了,我看了下dvdstore的测试类是如何写,然后照着样子试着写,对于从来没写过测试的我来说,那测试写的真的连自己都不明白,当然也就一堆错误,看了多了,开始明白了测试的意思,更有意思的时在写测试的时候,我学会了自己学ANT脚本
接下来,我需要测试数据对测试类进行测试,也就用到dbunit开始时用的是hibernate的虚拟数据库,因为当时没有连接到真实的mysql的数据库,

当然还有失职的“嫌疑”,真是段很郁闷的日子啊
后来终于可以连接到数据库了,更郁闷,我用的方法似乎是“歪门邪道”,没有采用别人的“战术”,为此我又郁闷了一下午,生活啊就是郁闷,啥时能不郁闷呢?
无论“真理”也好“邪道”也好,都是我的劳动成果,我都要记载下来,以后也好“缅怀”下这段郁闷的日子。
(1) 首先介绍dbunit+hibernate虚拟数据库的testng测试
我在报备系统的基础上作的测试(建了两个测试类,testng.xml,mydata.xml测试数据文件,
主要注意的地方:
1 testng.xml文件中对datasourceJndiName参数的设置,使得能找到数据源,这里用的是hibernate虚拟数据库。
2 在mydata.xml的文件中写入测试数据。
3 继承DBUnitSeamTest而不是SeamTest,重写prepareDBUnitOperations()方法,指明测试数据文件的路径,记得路径的正确性哦,我以前就因为路径有问题报错,然后再seamframework.org中发帖子时,才想起来的。
4 persistence-test.xml文件中要把hibernate.dialect设置为org.hibernate.dialect.HSQLDialect。
5 记得把.xml文件拷全到测试目录。
6 记得把dbunit包拷贝进来。
文件整理好放在了D盘的DBUnit+hibernate虚拟数据库+TestNG文件夹下,怕以后忘记,记录下。
(2)介绍dbunit+mysql的testng测试
以上操作类似,当有不同处我列举如下
1 DBUnitSeamTest继承SeamTest的类放置在test/../util/包下,其他测试类都继承这个类。
2 在testng.xml文件中添加 <parameter name="database" value="mysql"/>
<parameter name="binaryDir" value="META-INF/testbinaries"/>
3 连接数据库的文件换为mysql的连接方式
4 persistence-test.xml文件里hibernate.dialect变为org.hibernate.dialect.MySQL5InnoDBDialect
5 记得把数据库中的文件备份,然后再数据库中重新建立一个即将测试的数据库。
我在此过程中遇见一些错误(只记下了主要的错误)
首先遇到了“报错2”附件1种的错误,通过改变了hibernate.dialect的值,错误消失,然后出现了“报错3”的信息,原本数据库中是有表的,然后我将库中表明删除,一切正常。
关于emma的学习:
有点累了,还没回家呢,所以不多说了,SampleProjects中我可以成功的测试并进行测试 覆盖率。在我的E:/emma-example中的SampleProjects项目。
分享到:
相关推荐
Data文件夹中包含train_34x94(训练集)和test(测试集)两个文件夹。其中,train_34x94文件夹中的数据用于训练模型,包含pos文件夹(内有550个正例样本)和neg文件夹(内有500个负例样本); Test文件夹中的数据...
首先,让我们深入了解Seam和JSF这两个关键概念。JavaServer Faces (JSF) 是一种用于构建Web用户界面的MVC(模型-视图-控制器)框架。它提供了一种声明式的方式来管理组件和事件处理,减轻了开发者的工作负担。而Seam...
描述中提到的“控制按钮调用两个独立ui界面”,意味着我们需要在主窗口中添加至少两个按钮,并为每个按钮分配一个槽函数。当按钮被点击时,槽函数会被调用,从而加载并显示新的UI界面。这通常涉及到`QStackedWidget`...
对比分析这两个程序,我们可以学习到如何在STM32上配置RS485接口,理解数据的发送和接收流程,以及错误检测和纠正策略。 标签“RS485”进一步强调了主题的重点,这表明压缩包内容将侧重于使用RS485协议的硬件配置和...
标题"richfaces seam 经典资料"提及了两个关键的技术:RichFaces和Seam。这表明该压缩包中的内容是关于这两个技术的深入学习和实践资源。 RichFaces是一个开源的JavaServer Faces (JSF)组件库,它提供了丰富的用户...
本问题中,你拥有在两个不同坐标系下的多个对应点坐标,通过这些数据可以计算出两坐标系之间的转换矩阵。下面我们将详细探讨这一过程。 转换矩阵通常是一个4x4的矩阵,称为齐次坐标变换矩阵。在三维空间中,它可以...
虽然这两个框架可以互补使用,但它们的设计理念和实现方式存在一定的差异,比如EJB 3.0使用注解进行配置,而JSF则依赖XML文件。此外,EJB 3.0和JSF之间的组件在框架层面缺乏直接的交互。 JBoss Seam通过引入一致的...
实现在同一个activity中通过一个按钮切换两个不同的布局,此处的按钮并非同一个按钮控件,而是在两个不同的布局文件中点击按钮实现布局的切换。参考博客:http://blog.csdn.net/u010963246/article/details/47324229
在Java中进行图像识别,...总的来说,Java图像识别并判断两图相似性涉及到多个层次的技术,从简单的像素比对到复杂的深度学习模型。开发者可以根据具体需求和环境选择合适的方法,并利用现有的开源工具简化实现过程。
新旧两个版本 cadence管方学习教程电路 一百九十多页文档 还包括PLL的VerilogA完整的建模 都有testbench安装好就可以直接跑仿真 仿真包含整体电路和子模块电路所有的 还有送一些收集的PLL树籍,无敌全 还有送matlab...
本文将详细讲解如何通过三个非共线点来计算两个坐标系之间的旋转矩阵和平移向量。 首先,我们设定目标是求解坐标系2相对于坐标系1的转换关系,即找到一个旋转矩阵R和一个平移向量T,使得坐标系2中的点P2可以通过...
在本项目中,我们有两个主要部分:WebApi项目和访问WebApi的项目。这两个项目的协同工作使得数据交换和功能调用更为高效。 首先,让我们深入理解WebApi项目。WebApi项目的核心是Controller,它负责处理来自客户端的...
2,视频中两个摄像头之间的距离是6cm,你可以根据你摄像头的型号,来选择合适的距离来达到最好的效果。 3,在进行测距之前,首先需要对摄像头进行标定,那么如何标定呢? 在stdafx.h中把"#define CALIBRATION 0"改成...
WebApi和访问WebApi是开发过程中常见的两个概念,它们在构建分布式系统和提供网络服务时起着关键作用。本文将深入探讨这两个项目及其关联技术,包括WebApi的使用和通过HttpWebRequest类进行WebApi调用。 WebApi是...
在Android平台上实现两个手机间的通信是一项常见的需求,可以用于数据共享、实时聊天或者协同操作等场景。本篇文章将深入探讨如何实现这样的功能,主要涉及以下几个关键知识点: 1. **蓝牙通信**:Android提供了...
JavaSE测试类必备的两个关键库是`junit-4.12.jar`和`hamcrest-core-1.3.jar`。这两个库在Java开发中扮演着重要角色,特别是对于单元测试和质量保证。 首先,我们来详细了解`junit-4.12.jar`。JUnit是Java编程语言中...
从朋友手里所得,感觉极好,推荐给大家。 作者QQ:81053166 ...属性,按'读源数据',然后把这个工具程序及同目录 下的sour ce.mdb一起拿到客户的电脑上,运行,填上数据库属 性,按'比 对',然后按'执行',一切都OK了!
本文将对 C++TEST 和 TESTBED 两个软件测试工具进行对比,旨在帮助读者更好地理解这两个工具的特点和优势。 一、软件测试必要性 软件测试是软件质量保证的关键步骤,在软件开发的各个阶段都可能引入错误,软件需求...
在这个项目中,我们创建了一个自定义的双滑块滑动器,为用户提供了一种同时调整两个数值的能力。这个模本控件适用于那些需要设置两个关联参数或范围的应用场景,比如音量控制、颜色选择等。 首先,我们要理解Qt的...
2. 使用`TEST`宏定义不依赖fixture的测试用例,仅包含两个参数:测试套件名和测试用例名。 3. 可以通过`TEST_P`宏定义参数化的测试用例,允许为每个参数组合运行相同的基本测试。 四、测试fixture 测试fixture是一...