问题标签 [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.
java - EasyMock 和 Unitils 相当于 Mockito @ InjectMocks
EasyMock 或 Unitils Mock(不支持 Unitils 的 EasyMock)中是否有任何技术可以将模拟直接注入到被测类中?
例如。在 Mockito 中,可以将模拟直接注入到类的成员变量中,
可以用 EasyMock 或 Unitils Mock 完成这些事情吗?在 easymock 中,我们需要在 CUT 中使用单独的 setter 方法来支持来自测试的注入。我是对的还是方向注射是可能的?
-谢谢
spring - Unitils:它如何从 Spring 获取数据库属性
我正在使用Unitils和 Spring 进行单元测试。我已经使用属性文件为 Spring 配置了数据源。
我的问题是如何为 Unitils 使用相同的数据源或相同的属性?
Unitils 需要类路径 unitils.properties 中的文件,其中包含 url、用户、密码和驱动程序等数据库配置参数。
我尝试使用 Spring 配置中使用的属性来配置 Unitils,如下所示,但它不起作用。
谢谢,阿迪
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,但它并没有改变任何东西。预期数据集是一个非常酷的功能。
谢谢。
mocking - EasyMock 深存根
我必须使用 EasyMock 或 UnitilsMock 模拟以下安全步骤。您能否建议一种方法来实现这一目标?
此步骤与安全有关。所以我将无法创建一个 Principle 对象并进行两层模拟。我知道 mockito 很容易处理这样的事情,如下所示,
但是,我需要使用 EasyMock 或 Unitils Mock 的类似解决方案。下面给出了我希望进行单元测试的完整代码,
-谢谢
mocking - 如何断言没有在 Unitils Mock 上调用其他方法
我知道MockUnitils.assertNoMoreInvocations();
,但是如何仅对一个 Mock 对象实现类似的效果?
我正在对某些方法进行某种黑盒测试。我知道他们可能在模拟上调用的方法列表,但我必须确保他们绝对不会调用其他方法。
看来我需要类似assertOptionallyInvoked()
或assertNoOtherInovations()
模拟的东西。Unitils可以做到这一点吗?
java - 更改 Unitils DbUnitModule 的 TestListener
我正在尝试使用 Unitils 来帮助我进行数据库测试。我想使用 Unitils/DBMaintain 功能来禁用约束。然而,这有一些问题。我不希望使用 DBMaintain 为我创建数据库,但我希望使用它的约束禁用功能。我能够通过使用下面列出的自定义模块来实现这一点:
这部分解决了我想要的,但是我希望能够只禁用我将在测试中使用的表的约束。我的测试将针对具有多个模式的数据库运行,每个模式都有数百个不同的表。DatabaseUnitils.disableConstraints() 禁用每个模式中每个表的约束,这太耗时且没有必要。
在搜索 dbmaintain 代码后,我发现 Db2Database 类确实包含一个用于禁用特定模式和表名基础上的约束的函数,但是此方法受到保护。我可以通过扩展 Db2Database 类或使用反射来访问它。
接下来,我需要能够确定我感兴趣的模式和表。我可以通过观察 @DataSet 注释来根据 xml 中的内容确定哪些模式和表是重要的。为此,我需要覆盖 TestListener,以便在它尝试插入数据集之前指示它使用 xml 禁用约束。这是我的尝试:
这是我想做的,但是我无法获得@DataSet 注释来触发我的 DbUnitCustomListener,而是调用默认的 DBUnitModule DbUnitListener。无论如何,我是否可以覆盖在使用 @DataSet 注释时调用哪个侦听器,或者是否有更好的方法一起禁用 DB2 数据库的特定模式和表级别的约束?
谢谢
dbunit - Unitils/DbUnit:如何在多数据库环境中进行测试?
我正在使用 Unitils(与 DbUnit)进行数据访问层单元测试,但需要测试多个数据库。最好的方法是什么?数据库不同,因此一些 DAO 用于一个数据库,另一个 DAO 用于另一个数据库。
我看到以下替代方案:
- 将每个 *DaoTest 与单独的 unitils.properties 文件相关联,该文件将保存此 DAO 数据库的配置。甚至可能吗?
- 每个数据库都有一个单独的测试项目(保存这个数据库的 *DaoTests 和一个带有数据库凭据的 unitils.properties 文件)
还有其他想法吗?
hsqldb - DBUnit 无法将数据导入 HSQLDB
我在创建删除模式下使用 Hibernate 在启动时创建表。(表是在 hsqlDB的公共模式中创建的)。
出于某种原因,DBunit 无法将数据添加到我的表中:
...
我正在使用 unitils 注释 @DataSet。
我怀疑 DBunit 没有使用正确的架构,但无法找到解决此问题的方法。
注意:休眠工作正常,我在启动时看到成功的请求。
有没有人遇到过同样的问题?我错过了什么吗?
谢谢,
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 扩展。
我尝试了各种变体,但都无法正常工作。
任何人都可以建议一种体面的方式吗?
谢谢
java - 如何使用 UnitilsJUnit4 模拟静态方法?
我getAllCustomers
在CustomerService
课堂上有方法。在这个方法中,我从CustomerDao
类中调用另一个静态方法。现在,当我getAllCustomers
在customerService
类中为方法编写 junit 时,我想在其中模拟对CustomerDao
ie的静态方法的调用getAllCustomers
。getAllCustomers
这是类内部
方法的简短代码片段CustomerService
。是否可以使用 unitils 模拟静态方法调用?
上面的代码只是我试图提出的一个例子。请避免讨论为什么这些方法被设计为静态方法。那是一个单独的故事。)