我是groovy的新手,我正在尝试使用Spock进行一些集成测试。
我有一个Java类FunctionalTestCase
,我以前用它作为框架进行测试。
对于Spock,我仍在使用来自groovy类的FunctionalTestCase
。大多数事情没有问题,但我有以下情况:
在FunctionalTestCase
我有类似的东西:
protected static void doSomething(@Nullable Object nullableObject)
{
SomeInterface<InstrumentQuotationDataImage> marketDataSnapshot = new SomeInterface<InstrumentQuotationDataImage>()
{
@Override
public InstrumentQuotationDataImage getData()
{
InstrumentQuotationDataImage instrumentQuotationData = new InstrumentQuotationDataImageImpl();
if (nullableObject != null)
{
instrumentQuotationData.setDataRecord(nullableObject);
}
return instrumentQuotationData;
}
};
marketData.getQuotationService().pushQuotation(marketDataSnapshot);
}
在安装时使用非null参数调用此方法一次,并将对象推送到Service中(这可以在代码的末尾看到)。
当我稍后想要从SomeInterface#getData
检索到的对象中调用QuotationService
时,而不是nullableObject
为null
,它会抛出groovy.lang.MissingPropertyException
。
知道为什么这会发生在groovy?从java中使用它一切正常,对象是null
。