G单元测试给出NullPointerException

时间:2014-05-19 13:00:26

标签: antlr3 gunit

我第一次使用G Unit来测试Antlr3语法,但在运行测试时,我得到了NullPointerException。

只有在语法规则的操作部分中存在方法调用时才会发生异常。

示例:

identifier
: name=ID 
{
obj.identStmt($name.text, this.currentLine, this.currentPos);
}
;

ID: ('a'..'z'|'A'..'Z')+;

在调试时,我得到NullPointerException:

obj.identStmt($ name.text,this.currentLine,this.currentPos);

我想知道是否有可能为这种情况编写G单元测试用例,如果是,那么我做错了怎么做。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我是你,我会用

        ID : Identifier (Identifier)+;
        Identifier : ('a'..'z'|'A'..'Z');

只是一个想法,你的语法陈述Id ca