我的任务是为服务层编写压力(负载)测试.主要是CRUD操作.我们使用JUnit作为测试框架,使用JUnitPerf构建负载测试,使用

Spring注入服务bean,使用hibernate访问数据库.

压力测试类似于:读取实体 – 更新实体 – 保存 – 再次读取和比较.但是为了构建测试,我需要在数据库中使用一些测试数据,因此我需要在测试之前创建这些数据并在之后删除它.所需的流程:创建测试数据 – 在多个线程中运行测试 – 在所有线程完成执行后删除测试数据.有很多测试数据,所以使用一些测试转储sql文件来获取它会好得多.所以我需要的是:将数据从文件加载到数据库 – 执行压力测试 – 删除所有加载的数据.

我使用SchemaExport加载数据.我面临以下例外:

org.hibernate.HibernateException: No local DataSource found for configuration - 'dataSource' property must be set on LocalSessionFactoryBean

at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.configure(LocalDataSourceConnectionProvider.java:49)

at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)

at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)

at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)

at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)

at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)

.................

这是我的SessionFactory bean的定义:

hibernate.dialect=${hibernate.dialect}

hibernate.show.sql=${hibernate.show.sql}

...

my classes

...

我按以下方式启动测试:

@BeforeClass

public static void createTestData() throws AccessDeniedException, AccountException, SQLException {

ClassPathXmlApplicationContext appCtx = new ClassPathXmlApplicationContext("classpath:/applicationContext_test.xml");

AnnotationSessionFactoryBean sessionFactoryBean = (AnnotationSessionFactoryBean) appCtx.getBean("sessionFactory");

org.hibernate.cfg.Configuration configuration = sessionFactoryBean.getConfiguration();

SchemaExport schemaExport = new SchemaExport(configuration);

schemaExport.drop(false, true);

schemaExport.create(false, true);

if (schemaExport.getExceptions().size() > 0) {

for (Object exception : schemaExport.getExceptions()) {

if (exception instanceof Throwable) {

((Throwable) exception).printStackTrace();

}

}

throw new IllegalStateException();

}

}

我提到我需要进行负载测试以明确我不能在测试块中包含数据初始化.

我有两个问题:

1)如何在加载测试之前初始化数据并在之后将其删除?

2)我是正确的吗?或者也许我应该转用另一种技术进行压力测试?

java如何保存初始化数据_java – 如何在JUnit测试中初始化数据相关推荐

  1. 如何提取edit control中输入的数据_如何在Power Query中提取数据——列表篇(1)

    表名为列表,第一步骤名称为源 (一)从头开始提取 1. 获取列表第一个 List.First(list as list, optionaldefaultValue as any)as any 返回列表 ...

  2. java清除浏览器记录_java – 如何在Selenium测试中清除浏览器缓存

    我正在使用WebDriver运行我的Selenium测试.我正在用一些循环重复测试,所以现在我想在JAVA中开始新的测试之前清除缓存. @Test public void ffAndIe() thro ...

  3. java设置表格可滚动条_java – 如何在SWT表中始终显示垂直滚动条?

    It's not possible to force the Table to always show scroll bars, the OS decides when to show them. 备 ...

  4. python怎么汇总数据_如何在Pandas Python中汇总数据?

    通过使用数据上的不同功能,可以获得有关数据的大量信息.但是,如果我们希望获得有关数据的所有信息,则可以使用"描述"功能. 此函数将提供诸如"计数"," ...

  5. 图表嵌入到数据表格下方_如何在excel图表下方添加数据表 如何在excel图表中显示数值...

    我们都知道excel图表是不包含excel数据表的详细数据的,如果我们想要在excel图表中看到具体的数据,我们可以在excel图表下方添加数据表,方便我们在看excel图表的时候可以直接看到具体数据 ...

  6. junit测试起名字规则_如何在JUnit 5中替换规则

    junit测试起名字规则 最近发布的JUnit 5(又名JUnit Lambda) alpha发行版引起了我的兴趣,在浏览文档时,我注意到规则以及运行程序和类规则都消失了. 根据文档,这些部分竞争的概 ...

  7. 如何在JUnit 5中替换规则

    最近发布的JUnit 5(又名JUnit Lambda) Alpha版本引起了我的兴趣,在浏览文档时,我注意到规则以及跑步者和阶级规则都消失了. 根据文档,这些部分竞争的概念已被单个一致的扩展模型取代 ...

  8. 【数据库基础知识二】数据库DataBase(简称DB),数据库基本概念、DDL:数据定义语言,用来操作数据库对象、DML:数据操作语言,用来操作表中的数据

    14天阅读挑战赛 目录 数据库基本概念 数据库DataBase(简称DB) 数据库管理系统Database management system(简称DBMS) 如何操作DBMS? 连接数据库的方式: ...

  9. excel如何晒出重复数据_怎么筛选出excel中重复数据

    本文收集整理关于怎么筛选出excel中重复数据的相关议题,使用内容导航快速到达. 内容导航: Q1:Excel的数据怎么筛选一列中重复的数据 假如1在A2单元格,在B2单元格输入公式, =IF(COU ...

最新文章

  1. Shiro快速入门 —— 9.freemaker使用shiro标签
  2. UVA - 1346 Songs (贪心+排序)
  3. IO-5(InputStreamReader、OutputStreamWriter、序列化流、反序列化流、Serializable、transient)
  4. ps拨号服务器原理_呼叫中心的原理和功能
  5. IntelliJ IDEA使用技巧——自动生成 serialVersionUID 的方法
  6. 安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
  7. mysql sql 检测磁盘_MySQL 数据库磁盘占用情况查询
  8. mysql——JDBC
  9. 架构师一般做到多少岁_软件测试可以做到多大岁数?
  10. 网站添加微信支付功能(小白填坑)
  11. chromedriver不在路径的解决办法
  12. debian 安装 php,Ubuntu/Debian上安装Nginx+php环境详细教程
  13. Redis单机搭建主从复制以及哨兵机制
  14. java 内存 min_Java内存区域
  15. nopi 缩小字体填充_20202南雄高空广告字体安装施工方案设备先进
  16. Docker的bridge和macvlan两种网络模式
  17. 数字化转型六图法:数据地图
  18. 微信 php收藏功能实现,基于WordPress的微信JSSDK之分享与收藏的回调解决方案 - YangJunwei...
  19. Delphi xe7组件和控件的安装方法
  20. 全国2013年10月考试《行政组织理论》试题和答案

热门文章

  1. 使用 Azure CLI 2.0 从自定义磁盘创建 Linux VM
  2. Memcached + MSM 实现Tomcat Session保持
  3. IOS性能调优系列:使用Time Profiler发现性能瓶颈
  4. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
  5. cocos对象池的使用
  6. Hyper-V虚拟机win7网络红叉,无法上网解决方法
  7. 【转】select和epoll模型的差异
  8. C#生成带Logo二维码
  9. 在不root手机的情况上读取Data目录上的文件
  10. c# 调用SQL Server存储过程返回值(转)