VS Codeでgoldenファイルを扱う #golang

VS Codeで『詳解Go言語Webアプリケーション開発』を写経していて、goldenファイルを扱う必要があったのでメモ。

 

[問題点]

『詳解Go言語Webアプリケーション開発』では以下の記事が紹介されていた。goldenファイルを用いたユニットテストが解説されていた。

khigashigashi.hatenablog.com

Go言語でのユニットテスト作成時、JSONやHTMLといった用に別ファイルをテストの引数や期待値に必要とするケースがあります。これに対して、.golden拡張子をつけたファイルとして別定義する

 

VS Codejsonファイルを開くと、通常以下のようにシンタックスエラーなどを表示してくれる。

 

しかし、goldenファイルの場合、拡張子が.jsonではなく.goldenになっているため、VS Codejsonファイルとして認識してくれず、シンタックスエラーが表示されない。

 

[解決策]

前述の記事でGoLandの設定方法が紹介されていたが、VS Codeでも同じような設定はあるだろう、と思って探してみるとあっさり見つかった。

まずCode > Preferences > Settingsから設定画面を開く。

 

Settingsタブが開くので、検索欄にassociationsを入力して検索すると、Files: Associationsの設定が見つかる。

Itemを追加し、*.json.goldenファイルをjsonに関連付ける。

 

こうすることで、VS Codeが.json.golden拡張子のファイルをjsonファイルとして認識してくれるようになる。シンタックスハイライトが適用されて読みやすくなり、シンタックスエラーも無事表示される。

 

[まとめ]

  • VS CodeでGoのgoldenファイルを使ったテストを実装した
  • Code > Preferences > Settings > Files: Associations*.json.golden: jsonの設定を追加するとgoldenファイルをjsonとして認識してくれる
  • json認識されるとしンタックスハイライトやシンタックスエラーが使えて便利
  • 写経したソースコードは以下のリポジトリにまとめてある

github.com