如何在我的测试插件中禁用代码生成?

时间:2012-03-28 12:08:57

标签: junit code-generation xtext

我的测试插件/项目中有一些在我的DSL中编写的测试文件。大多数测试使用内联多行字符串和Xtend,但在四种情况下,我需要测试对URL和类路径有一些魔力的代码,所以我真的需要类路径中的资源。

由于加载资源仅在扩展名正确时才有效,因此我无法为文件提供虚假扩展名。

现在我的问题:我的DSL还有一个代码生成器。这意味着最终,我最终会在我无法拥有它们的地方生成一些生成的文件(例如,它们不会编译,并且当信息被分割为多个文件时,一个甚至包含错误来测试错误处理)。

我无法禁用Xtext特性因为测试项目使用Xtend所以对于这些文件,我确实需要代码生成。

由于生成器在Eclipse内部运行(我为其他项目安装了DSL插件),因此无法覆盖Guice中的代码生成器。

在这种情况下如何禁用代码生成器?

1 个答案:

答案 0 :(得分:1)

有一种简单的方法可以实现这一目标:

  1. 打开项目的属性
  2. 展开DSL条目
  3. 选择“编译器”
  4. 选择“启用项目特定设置”
  5. 禁用/取消选择“常规”
  6. 下的“编译器已激活”

    如果您没有DSL的属性条目:

    1. 将此片段添加到.mwe2工作流程文件中:

      fragment = generator.GeneratorFragment {}
      
    2. 重新生成项目

    3. 将基本和UI插件中的plugin.xml_gen新代码合并到plugin.xml
    4. 有趣的部分是两个扩展点org.eclipse.ui.preferencePagesorg.eclipse.ui.propertyPages