gpt4 book ai didi

unit-testing - grails 2.0.1 单元测试 NullPointerException 保存

转载 作者:行者123 更新时间:2023-12-05 00:33:57 26 4
gpt4 key购买 nike

我在 grails 中的单元测试遇到了一个奇怪的问题,当我尝试保存一个模拟对象时,它抛出一个 NullPointerException

 java.lang.NullPointerException
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.persistEntity(NativeEntryEntityPersister.java:798)
at org.grails.datastore.mapping.engine.EntityPersister.persist(EntityPersister.java:130)
at org.grails.datastore.mapping.core.AbstractSession.persist(AbstractSession.java:477)
at org.grails.datastore.gorm.GormInstanceApi.doSave(GormInstanceApi.groovy:166)
at org.grails.datastore.gorm.GormInstanceApi$_save_closure4.doCall(GormInstanceApi.groovy:143)
at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:301)
at org.grails.datastore.gorm.AbstractDatastoreApi.execute(AbstractDatastoreApi.groovy:34)
at org.grails.datastore.gorm.GormInstanceApi.save(GormInstanceApi.groovy:142)
at it.rascio.ConverterServiceTests.testConvert(ConverterServiceTests.groovy:64)

我有什么测试:
@TestFor(ConverterService)
@TestMixin(GrailsUnitTestMixin)
@Mock([MyObj1, MyObj2, LittleObject])
class ConverterServiceTests{
def littleObject;
void setUp(){
littleObject = new LittleObject(prop1: 'hello', prop2: 'world')
}

void testConvert(){
MyObj1 obj = new MyObj1()
obj.prop = 'my property'
obj.littleObject = littleObject
obj = obj.save(flush:true, failOnError: true)

MyObj2 b = new MyObj2()
b.obj1Id = obj.id;

assert service.convert(b) == null;


}

当我调用 .save 方法时抛出异常。
我已经看到,如果我删除 littleObject 它会起作用。
有人可以知道这个异常(exception)是什么吗?

最佳答案

如果您的类(class) MyObj1包含一些其他类型的嵌入属性或有任何其他级联保存,您应该将这些类添加到 @Mock注释列表。

关于unit-testing - grails 2.0.1 单元测试 NullPointerException 保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291495/

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