在 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
已弃用,我不明白如何将完整的生成器迁移到 new/suggested 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(下面的代码)和重组项目来进一步。特别是新的生成器需要一个 .ide 包。所以我创建了一个新项目,使用向导创建了一个 JUnit 5 项目和 copied/renamed 周围所需的目录。现在我必须修复发生的错误并将我的项目重新组合在一起。这是 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"
}
}
我正在处理一个使用 xtext 的复杂项目。我的工作是将测试从 JUnit4 升级到 JUnit5。问题是,对于 JUnit 测试,*.mwe2 文件生成了 2 "InjectorProvider" 类,我不知道如何将这些文件的生成升级到 JUnit5。
*.mwe2 文件当前包含在其工作流部分中
org.eclipse.xtext.generator.Generator
其中包含:
fragment = junit.Junit4Fragment auto-inject {}
.
Generator
已弃用,我不明白如何将完整的生成器迁移到 new/suggested 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(下面的代码)和重组项目来进一步。特别是新的生成器需要一个 .ide 包。所以我创建了一个新项目,使用向导创建了一个 JUnit 5 项目和 copied/renamed 周围所需的目录。现在我必须修复发生的错误并将我的项目重新组合在一起。这是 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"
}
}