1

我有以下语法:

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")抛出异常或 return null,但两者都没有。我如何识别解析失败?

4

2 回答 2

4

您可以通过 Resource#getErrors 查询包含错误解析结果的资源。类似的东西resultFromParseHelper.eResource().getErrors()应该可以解决问题。

使用junit:

Assert.assertEquals(result.eResource().getErrors().toString,0,result.eResource().getErrors().size)
于 2012-10-03T07:21:11.390 回答
0

另一种选择是使用ValidationTestHelper.

于 2012-10-03T10:14:35.430 回答