问题标签 [unitils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6137 浏览

java - EasyMock 和 Unitils 相当于 Mockito @ InjectMocks

EasyMock 或 Unitils Mock(不支持 Unitils 的 EasyMock)中是否有任何技术可以将模拟直接注入到被测类中?

例如。在 Mockito 中,可以将模拟直接注入到类的成员变量中,

可以用 EasyMock 或 Unitils Mock 完成这些事情吗?在 easymock 中,我们需要在 CUT 中使用单独的 setter 方法来支持来自测试的注入。我是对的还是方向注射是可能的?

-谢谢

0 投票
3 回答
1439 浏览

spring - Unitils:它如何从 Spring 获取数据库属性

我正在使用Unitils和 Spring 进行单元测试。我已经使用属性文件为 Spring 配置了数据源。

我的问题是如何为 Unitils 使用相同的数据源或相同的属性?

Unitils 需要类路径 unitils.properties 中的文件,其中包含 url、用户、密码和驱动程序等数据库配置参数。

我尝试使用 Spring 配置中使用的属性来配置 Unitils,如下所示,但它不起作用。

谢谢,阿迪

0 投票
1 回答
1310 浏览

spring - Unitils - Dbunit ExpectedDataSet 失败/阻塞

我正在使用 Spring 3.1.0.RELEASE 和带有 Hibernate Provider 的 JPA 2 创建一个 Web 应用程序。我正在使用 junit 4.10、dbunit 2.4.8、unitils 3.3、hsqldb 2.2.8 进行测试。

我尝试测试服务层,创建操作。在我的 DAO 中,我有这个方法:

我的 QuestionServiceTest 测试类:

我使用属性 hibernate.hbm2ddl.auto = create-drop 来生成模式,问题表是:

theme_id 是表主题的外键。

当我使用 ExpectedDataSet 启动测试时,插入有效,但测试永远不会完成。上的测试块:

调试:org.dbunit.database.AbstractResultSetTable - 查询:从“ PUBLIC”.“QUESTION”按“ID”排序

这是调试的最后一行。

我的 unitils.properties 是:

我的 persistence.xml :

我应该怎么办?我已经尝试过以前版本的 dbunit 或 unitils,但它并没有改变任何东西。预期数据集是一个非常酷的功能。

谢谢。

0 投票
1 回答
1233 浏览

mocking - EasyMock 深存根

我必须使用 EasyMock 或 UnitilsMock 模拟以下安全步骤。您能否建议一种方法来实现这一目标?

此步骤与安全有关。所以我将无法创建一个 Principle 对象并进行两层模拟。我知道 mockito 很容易处理这样的事情,如下所示,

但是,我需要使用 EasyMock 或 Unitils Mock 的类似解决方案。下面给出了我希望进行单元测试的完整代码,

-谢谢

0 投票
1 回答
41 浏览

mocking - 如何断言没有在 Unitils Mock 上调用其他方法

我知道MockUnitils.assertNoMoreInvocations();,但是如何仅对一个 Mock 对象实现类似的效果?

我正在对某些方法进行某种黑盒测试。我知道他们可能在模拟上调用的方法列表,但我必须确保他们绝对不会调用其他方法。

看来我需要类似assertOptionallyInvoked()assertNoOtherInovations()模拟的东西。Unitils可以做到这一点吗?

0 投票
1 回答
413 浏览

java - 更改 Unitils DbUnitModule 的 TestListener

我正在尝试使用 Unitils 来帮助我进行数据库测试。我想使用 Unitils/DBMaintain 功能来禁用约束。然而,这有一些问题。我不希望使用 DBMaintain 为我创建数据库,但我希望使用它的约束禁用功能。我能够通过使用下面列出的自定义模块来实现这一点:

这部分解决了我想要的,但是我希望能够只禁用我将在测试中使用的表的约束。我的测试将针对具有多个模式的数据库运行,每个模式都有数百个不同的表。DatabaseUnitils.disableConstraints() 禁用每个模式中每个表的约束,这太耗时且没有必要。

在搜索 dbmaintain 代码后,我发现 Db2Database 类确实包含一个用于禁用特定模式和表名基础上的约束的函数,但是此方法受到保护。我可以通过扩展 Db2Database 类或使用反射来访问它。

接下来,我需要能够确定我感兴趣的模式和表。我可以通过观察 @DataSet 注释来根据 xml 中的内容确定哪些模式和表是重要的。为此,我需要覆盖 TestListener,以便在它尝试插入数据集之前指示它使用 xml 禁用约束。这是我的尝试:

这是我想做的,但是我无法获得@DataSet 注释来触发我的 DbUnitCustomListener,而是调用默认的 DBUnitModule DbUnitListener。无论如何,我是否可以覆盖在使用 @DataSet 注释时调用哪个侦听器,或者是否有更好的方法一起禁用 DB2 数据库的特定模式和表级别的约束?

谢谢

0 投票
1 回答
470 浏览

dbunit - Unitils/DbUnit:如何在多数据库环境中进行测试?

我正在使用 Unitils(与 DbUnit)进行数据访问层单元测试,但需要测试多个数据库。最好的方法是什么?数据库不同,因此一些 DAO 用于一个数据库,另一个 DAO 用于另一个数据库。

我看到以下替代方案:

  1. 将每个 *DaoTest 与单独的 unitils.properties 文件相关联,该文件将保存此 DAO 数据库的配置。甚至可能吗?
  2. 每个数据库都有一个单独的测试项目(保存这个数据库的 *DaoTests 和一个带有数据库凭据的 unitils.properties 文件)

还有其他想法吗?

0 投票
1 回答
2604 浏览

hsqldb - DBUnit 无法将数据导入 HSQLDB

我在创建删除模式下使用 Hibernate 在启动时创建表。(表是在 hsqlDB的公共模式中创建的)。

出于某种原因,DBunit 无法将数据添加到我的表中:

...

我正在使用 unitils 注释 @DataSet。

我怀疑 DBunit 没有使用正确的架构,但无法找到解决此问题的方法。

注意:休眠工作正常,我在启动时看到成功的请求

有没有人遇到过同样的问题?我错过了什么吗?

谢谢,

0 投票
2 回答
2630 浏览

spring - 使用 unitils、dbunit 和 spring 进行单元测试

我是unitils(内置dbunit)和spring的新手。在我工作的新地方,我可以看到一些测试是使用 spring 的,而其他测试则使用不带 spring 的 unitils/dbunit。

有一个使用弹簧的推动力,所以我一直在尝试合并以下功能。

弹簧测试使用:

此类具有@Autowired ProfileDao,它在使用@RunWith(SpringJUnit4ClassRunner.class) 时有效。

Unitils 测试使用:

运行时正确加载数据库等。

我想要实现的是将这些结合起来,以便我可以使用 @RunWith(UnitilsJUnit4TestClassRunner.class) 注释“Unitil'ise”我的课程,但也可以像上一个课程一样以正常方式使用 spring。

问题是我在使用 spring 版本时似乎无法统一我的课程,因为它们都是 JUnit4ClassRunner 扩展。

我尝试了各种变体,但都无法正常工作。

任何人都可以建议一种体面的方式吗?

谢谢

0 投票
2 回答
815 浏览

java - 如何使用 UnitilsJUnit4 模拟静态方法?

getAllCustomersCustomerService课堂上有方法。在这个方法中,我从CustomerDao类中调用另一个静态方法。现在,当我getAllCustomerscustomerService类中为方法编写 junit 时,我想在其中模拟对CustomerDaoie的静态方法的调用getAllCustomersgetAllCustomers这是类内部 方法的简短代码片段CustomerService是否可以使用 unitils 模拟静态方法调用?

上面的代码只是我试图提出的一个例子。请避免讨论为什么这些方法被设计为静态方法。那是一个单独的故事。)