我有以下语法:
grammar ru.focusmedia.fire.idl.IDL with org.eclipse.xtext.xbase.Xbase
generate idl "http://www.focusmedia.ru/fire/idl/IDL"
Model:
'package' package=QualifiedName
imports+=Import*
typeDefs+=TypeDef+;
...
因此字符串asd
应该无法解析,就像任何不以package
开头的情况一样。我希望ParseHelper.parse("asd")
抛出异常或返回null
,但它没有。我如何识别解析失败?
答案 0 :(得分:3)
您可以通过Resource#getErrors查询包含错误解析结果的资源。像resultFromParseHelper.eResource().getErrors()
这样的东西应该可以解决问题。
使用junit:
Assert.assertEquals(result.eResource().getErrors().toString,0,result.eResource().getErrors().size)
答案 1 :(得分:0)
另一种选择是使用ValidationTestHelper
。