grails测试中有趣的空指针异常

时间:2011-03-01 12:02:27

标签: unit-testing grails groovy nullpointerexception

我想为我的grails app编写单元测试。

但是groovy中的null对象模式存在问题。

我使用for:

创建一个实例
KeywordClickPerformance performance = KeywordClickPerformance.forA("string").from(startDate).to(endDate)

但是当这样使用时;

void testForA() {
    assertEquals "string", performance.keyword.name
}

执行单元测试后,grails会给出以下异常:

"java.lang.NullPointerException: Cannot get property 'name' on null object at "

我使用performance?.keyword?.name作为解决方案,但它返回null,因为performancenull

我找不到解决方案。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您需要在测试或设置中创建性能。否则你的forA方法不正确......

答案 1 :(得分:0)

没有创建性能。您需要在=右侧的KeyworkClickPerformance前添加新内容。我认为groovy将允许链接构造函数。如果没有,你可以用两行

来完成

KeywordClickPerformance performance = new KeywordClickPerformance() performance.forA( “串”)。从(的startDate)。为了(结束日期)