繁体   English   中英

在xtext环境中将JUnit4升级到JUnit5

[英]Upgrading JUnit4 to JUnit5 in a xtext environment

我正在使用xtext进行复杂的项目。 我的工作是将测试从JUnit4升级到JUnit5。 问题是,对于JUnit测试,*。mwe2文件生成了2个“ InjectorProvider”类,我无法弄清楚如何将这些文件的生成升级到JUnit5。

* .mwe2文件的工作流程部分当前包含org.eclipse.xtext.generator.Generator ,其中包含: fragment = junit.Junit4Fragment auto-inject {}

不推荐使用Generator ,我不了解如何将完整的Generator迁移到新的/建议的XtextGenerator 同时,我找不到JUnit4片段的替代品。

工作流程:

Workflow {
 bean = //...
 component = //...
 component = //...
 component = Generator {
    pathRtProject = runtimeProject
    pathUiProject = "${runtimeProject}.ui"
    pathTestProject = "${runtimeProject}.tests"
    projectNameRt = projectName
    projectNameUi = "${projectName}.ui"
    encoding = encoding
    language = auto-inject {        
        uri = grammarURI
    fileExtensions = fileExtensions
    fragment = //... many of these fragments
    fragment = junit.Junit4Fragment auto-inject {}
 }
}

对于如何将其迁移到新的org.eclipse.xtext.xtext.generator.XtextGenerator或如何使JUnit5片段起作用,或者我必须阅读哪些主题才能完成此工作,我将不胜感激。

很抱歉,如果这太含糊或无法证明我的能力,但我只是他的一名实习生,试图解决此问题。 请保持简单,我的经验有限。

似乎我的项目很老,我正在从xtext跳过几个重要的版本。 万一有人落在这里,我设法通过使用新的XtextGenerator(下面的代码)并重组项目来获得进一步的进展。 特别是新的Generator需要一个.ide包。 因此,我创建了一个新项目,使用该向导创建了一个JUnit 5项目,并在其中复制/重命名了所需的目录。 现在,我必须修复发生的错误,并将项目重新拼凑在一起。 这是newGenerator模板:

component = XtextGenerator {
    configuration = {
        project = model.project.StandardProjectConfig {

            baseName = "com.xxx.xxx.dsl.xxx"
            rootPath = ".."
            runtimeTest = {
                enabled = true
            }
            eclipsePlugin = {
                enabled = true
            }
            eclipsePluginTest = {
                enabled = false
            }
            createEclipseMetaData = true
        }
        code = {
            encoding = "UTF-8"
            lineDelimiter = "\r\n"
            fileHeader = "/*\n * generated by Xtext \${version}\n */"
        }
    }
    language = StandardLanguage {
        name = "com.xxx.xxx.xxx.xxx.xxxDSL"
        fileExtensions = "xxx"

        serializer = {
            generateStub = true
        }
        validator = {
            // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
            // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
            generateDeprecationValidation = true
        }
        junitSupport = {
            junitVersion = "5"
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM