31639


Eclipse neon.1を使っています。  
例えば、ProjectExplorerのコンテキストメニューから、New→Other→JUnit→JUnit Test
Caseでウィザードから生成されるソースコードですが、このソースコードのテンプレートを編集したいです。  
具体的には、importに追加したいものがあります。  
可能でしょうか？


CC BY-SA 3.0
2017-01-05T11:23:48.547
31637
2017-01-05T12:43:33.490
2017-01-05T12:41:24.110
2808
8078
question
java eclipse
EclipseのJUnitファイルテンプレートを編集したい


次のリンク先に同様の質問がありましたが、回答としては「ハードコードされているので設定での変更は不可能」なようです。

  * [Customized new JUnit templates in Eclipse? - Stack Overflow](https://stackoverflow.com/a/1345230/4506703)

少し古い質問でしたので現状のコードも見てみましたが、[やはり当時と同様ハードコードされているようでした](https://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/tree/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/wizards/NewTestCaseWizardPageOne.java?id=65467ee0a350e6890dec0b74844dbdcf86f02b68#n721)。

* * *

代替案としては、上記リンク先にもありますが、コンテンツアシスト(Windowsなら`Ctrl`+`Space`で実行できる)のテンプレート機能を用いる方法が考えられます。  
Preferencesの`Java > Editor > Templates`より Nameが **test** (Descriptionは **test
method (JUnit 4)** )の項目を編集します。

デフォルトでは次のようになっていますが、

[code]

    @${testType:newType(org.junit.Test)}
    public void ${testName}() throws Exception {
        ${staticImport:importStatic('org.junit.Assert.*')}${cursor}
    }
    
[/code]

これを例えば

[code]

    @${testType:newType(org.junit.Test)}
    public void ${testName}() throws Exception {
        ${staticImport:importStatic('org.junit.Assert.*')}${imp:import('java.util.logging.Logger')}${cursor}
    }
    
[/code]

とすると、コンテンツアシストでテストメソッドを生成した際に、(存在しなければ)`import
java.util.logging.Logger`が挿入されます。

ここで使用できる変数については、既存のテンプレートや次のリンク先が参考になるかと思います。

  * [Eclipse Galileo でJava コーディングを迅速に行うための追加事項](https://www.ibm.com/developerworks/jp/opensource/library/os-eclipse-galcode/#variables)


CC BY-SA 3.0
2017-01-05T12:37:30.973
31639
2017-01-05T12:43:33.490
2017-05-23T12:38:56.467
-1
2808
31637
answer