2016-09-11 12 views
0

私はこの空白の空白の言葉を持っています。今の文法はXtext:空白のテスト言語 - JUnitのRULE_BEGINがありません

Model: 
    {Model} 
BEGIN 
    package=PackageDeclaration? 
    class=ClassDeclaration? 
END 
methods+=MethodDeclaration* 
; 

PackageDeclaration: 'package' name=ID; 
ClassDeclaration: 'class' name=ID; 
MethodDeclaration: 'def' name=ID; 

terminal BEGIN: 
    'synthetic:BEGIN'; 

terminal END: 
    'synthetic:END'; 

(端末上でベース)簡単で、今ではJUnitのに来るとき:

@Test 
def void packageSimpleNoErrors() { 
    val result = ''' 

     package testPack 
     '''.parse 
    // Parsed without errors 
    result.assertNoErrors 
} 

複数行の文字列が2倍改行、タブ、「パッケージtestPack」と新しいラインです。 解析のデバッグでチェックしました。

Eclipseエディタでこの方法を使用すると、問題なく完了します。しかし、私はJUnitのは、この試験に合格することはできません。今では、このコードのテストの残りの部分として、人目を引く物ではありませんについては

java.lang.AssertionError: Expected no errors, 
but got :ERROR (org.eclipse.xtext.diagnostics.Diagnostic.Syntax) 
'missing RULE_BEGIN at 'package’’ on PackageDeclaration, 
ERROR (org.eclipse.xtext.diagnostics.Diagnostic.Syntax) 
'mismatched input '<EOF>' expecting RULE_END' on Model 

罰金見て、私はそれらすべてが緑持っていることを好む:)

されています

ありがとう

答えて

0

問題は、豊富な打撃が空の行が意図によって失われることです。多分あなたはファイルからモデルを読んだり、何かを試してみるべきです

+0

ありがとう、これは私の問題を解決しました:)しかし、これはXtextの長期的な解決策として好まれないことを願っています。 –

関連する問題