java - 使用 Mockito 测试 Thymeleaf 自定义方言

标签 java unit-testing mockito thymeleaf

我最近为 Thymeleaf 编写了一个自定义方言以及一个自定义处理器来处理一些自定义标签并在某些情况下用不同的标签替换它们,但是我在为处理器编写测试时遇到了问题:

AbstractProcessor 类需要覆盖

protected ProcessorResult doProcess(Arguments arguments, ProcessorMatchingContext processorMatchingContext, Node node)

方法,这是我需要测试的方法。

因为我的处理器涉及从 arguments 参数获取变量,所以我尝试模拟它;但是,ArgumentsProcessorMatchingContextNode 类都声明为 final,这意味着它们不能被 Mockito 模拟。

我真的不想实例化一个实际的 Arguments 对象,因为它依赖于其他 5 个无法模拟的对象,我最终会编写大量代码来测试我的代码中的一行处理器。

对可能的测试策略有什么想法吗?

最佳答案

我不知道这是否有帮助,但您可以使用 Objenesis 实例化一个实际的(非模拟的)Arguments,而无需所有其他 5 个依赖类。

关于java - 使用 Mockito 测试 Thymeleaf 自定义方言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33277899/

相关文章:

java - java中Iterator()的时间复杂度

java - gradle mysql 依赖项同步但不起作用

python - 使用 Green 单元测试运行程序使测试超时

java - 如何正确测试java中类的内部方法

java - 重构和测试

java - 基本接口(interface)说明

java - Microsoft SQL JDBC 驱动程序 v6.2 为 DATETIME 字段返回不正确的 SQL 类型代码

reactjs - 由于 : FIRESTORE (9. 6.1) 内部断言失败,无法编写 firestore 测试:意外状态

java - 如何使用mockito和junit为Java中的ExecuterService编写测试用例?

java - 如何在构造函数中设置@Value的值以进行测试