从具有null参数的groovy调用java代码时出现缺少属性异常

时间:2015-07-31 10:19:34

标签: java groovy junit spock

我是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时,而不是nullableObjectnull,它会抛出groovy.lang.MissingPropertyException

知道为什么这会发生在groovy?从java中使用它一切正常,对象是null

0 个答案:

没有答案