当前位置: 首页 > 知识库问答 >
问题:

如何在arquillian持久性扩展上设置IDataTypeFactory

柯锋
2023-03-14

我有数百个测试用例,是用arquillian-persistence-extension编写的。这些测试运行在WildFly管理的容器上,并且使用WildFly提供的默认H2数据库。当测试被执行时,我会收到很多类似的警告:

WARN  [org.dbunit.dataset.AbstractTableMetaData] (default task-1) Potential 
problem found: 
The configured data type factory 'class
org.dbunit.dataset.datatype.DefaultDataTypeFactory' might cause problems with the
current database 'H2' (e.g. some datatypes may not be supported properly).
In rare cases you might see this message because the list of supported database
products is incomplete (list=[derby]). If so please request a java-class update
via the forums.If you are using your own IDataTypeFactory extending
DefaultDataTypeFactory,
ensure that you override getValidDbProducts() to specify the
supported database products.

所以我在警告本身中列出了一些选项,但那样做有点问题,因为我不想提供不需要的DbUnit依赖关系,而只是想在此基础上使用APE。

所以我的问题是,有没有什么简单的方法来定义默认的H2类型工厂(已经在wildfly中了),或者一些只是禁用那些警告(但不影响其他警告)?

共有1个答案

符鸣
2023-03-14

只需在arquillian.xml中添加以下内容:

org.dbunit.ext.h2.h2DataTypeFactory

 类似资料:
  • 我正在用arquillian为我的应用程序中的持久层编写一些测试。我想使用一个持久化扩展来填充数据库等。问题是一个测试大约需要15-25秒。正常吗?还是我做错了什么?我已经尝试在本地postgres数据库(每次测试~10sec)、远程postgres数据库(每次测试~15sec)和本地容器上的hsqldb(每次测试~15sec)上运行这些测试。 提前致谢 附注。当我不使用“持久化扩展”12测试大约

  • 我使用使用SSL的安全通道通过JMS与Weblogic IBM Webpsphere MQ建立了连接。我在Weblogic上的应用程序收到了来自MQ的消息。正在将应答发送到应答队列。响应头存在MQMD,它填充java。在参数持久化JMS发送值“1”中。其他系统需要在持久化时接收值“0”。如何将此参数设置为java?我猜这个参数是javax。jms。deliverymode。但我不知道怎么设置。 无

  • 问题内容: 当我通过获取我的ElasticSearch服务器设置时 我看到了持久性和临时性设置。 如果我设置一个持久设置,它不会将其保存到我的配置文件中吗?所以我的问题是服务器重新启动时,如何知道我的持久设置是什么? 不要告诉我不要担心,因为我几乎失去了整个群集的数据,因为它在重新启动后获取了配置文件中的所有设置,而不是上面显示的持久性设置:) 问题答案: 持久性设置存储在全局集群状态文件中的每个

  • 问题内容: 事务范围的持久性上下文和扩展的持久性上下文之间有什么区别? 问题答案: 在JSR-220 Enterprise JavaBeans 3.0规范中清楚地解释了差异: 5.6容器管理的持久性上下文 (…) 可以将容器管理的持久性上下文定义为具有范围为单个事务的生存期或跨越多个事务的扩展生存期,这取决于创建容器时所指定的生存期 。该规范分别将这种持久性上下文称为 事务范围的持久性上下文 和

  • 有没有人能够在同一测试中使用阿奎利安持久性扩展与阿奎利安石墨烯/硒?我有一个项目正在使用持久性&无人机/石墨烯的扩展,它们各自都工作得很好。我可以用持久性配置数据库进行集成测试,我可以用Drone做UI验收测试。 问题是当我尝试在无人机测试中使用持久性扩展时。由于某些原因,持久性扩展似乎没有执行,因为数据库从未被填充。是否需要做一些特殊的事情来使持久性扩展能够使用Arquillian在客户端模式下

  • 问题内容: 我试图将目录添加到我的路径,以便它始终位于我的Linux路径中。我试过了: 这可行,但是每次我退出终端并启动新的终端实例时,此路径都会丢失,因此我需要再次运行export命令。 我该如何做才能将其永久设置? 问题答案: 有多种方法可以做到这一点。实际解决方案取决于目的。 变量值通常存储在分配列表或在系统或用户会话开始时运行的Shell脚本中。如果使用Shell脚本,则必须使用特定的Sh