gpt4 book ai didi

grails - grails生成的 Controller 测试在子类上失败

转载 作者:行者123 更新时间:2023-12-02 14:51:32 24 4
gpt4 key购买 nike

我正在尝试在Grails 2.4.3中测试一个子类的 Controller 。域模型是这样的:

abstract class Task { ... }

class SubTask extends Task { ... }

尝试为类SubTaskController运行生成的测试时,7个测试中有3个失败:
  • 保存
  • 更新
  • 删除

  • 尽管我在populateValidParams()方法中定义了它,但似乎(至少)域类的ID尚未初始化。调试器在subTaskInstance对象上显示两个(!)生成的id属性,都为null。当我在调试器中将ID设置为某个长值时,错误至少会在几行之后出现。在模拟子类时是否存在错误,或者我在做一些根本错误的事情?

    我也尝试了在基类中没有“抽象”的方法,但是出现了同样的错误。
    对于不在继承层次结构中的对象,生成的测试可以正常工作。

    当我直接在测试代码中另外设置id属性时,测试在
    SubTask.count() == 1断言。似乎持久层模拟不处理子类。

    最佳答案

    请参阅https://github.com/jeffbrown/controllerinheritancetest上的项目。那里的两个 Controller 单元测试都通过了。

    您确定在 Controller 单元测试的populateValidParams方法中设置了有效数据吗?这可能是测试失败的原因。

    关于grails - grails生成的 Controller 测试在子类上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489516/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com