[英]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.