2020-05-23

5/23

gcloud-promptにテストとCIを足した

https://github.com/progrhyme/gcloud-prompt/pull/1

複数のシェルから同時に触っても表示が壊れたりしないように、排他制御機構を入れたのだけど、逆にエンバグしそうで怖くなったので、テストを足した。

テストのため、 gcloud コマンドの挙動をなんちゃって実装したシェルスクリプトを書いたけど、これはスタブなのだろうか、モックなのだろうかというのが気になった。
とりあえずコメントでは「stub」ということにしておいたけど。

See Software > テスト#スタブとモックの違い

今回実装した機能を鑑みるに、

  • gcloud infogcloud config が呼ばれたときに決まった結果を返す -> スタブ
  • gcloud-prompt.shから gcloud config コマンドが呼ばれたときに、呼ばれた回数を記録 -> モック

両方の性質を合わせ持ってることになるのかな?

詳しい人いたら教えてほしい。

シェルスクリプトのパッケージマネージャー「basher」の機能概要と使い方 - Qiitaに追記した通り。

既に修正PRも送っている:

デバッグに苦しんだ副産物として、 realpath をエミュレートするBashスクリプトが出来た:

デバッグコードがたくさん残っているので、実験的な意味合いが強いが。