Skip to content

Latest commit

 

History

History
97 lines (77 loc) · 4.19 KB

developer.jp.md

File metadata and controls

97 lines (77 loc) · 4.19 KB

Gatling Commanderの開発方法

開発時に必要な情報について記載します。

ローカルでの実行

ローカル環境での実行には、プロジェクトルートディレクトリ配下で次のコマンドを実行します。

go run main.go exec --config "config/config.yaml"

上記コマンドを動作させるにあたり、事前準備が必要になります。
事前準備についてはQuick Start Guideを参照してください。

テストの実行

プロジェクトルートディレクトリで次のコマンドを実行することで単体テストが実行できます。
テスト時に無限ループとなることを避けるため、コマンド実行時に引数でタイムアウト時間を指定することを推奨します。

go test -v ./... -timeout 120s

lint・コードフォーマットの実行

コードフォーマット

プロジェクトルートディレクトリで次のコマンドを実行することでコードがフォーマットされます。

go fmt ./...

lint

lintにはgolangci-lintを利用しています。
Macであれば次のようにbrewでインストールできます。

brew install golangci-lint

その他のインストール方法は公式ドキュメントを参照ください。

ローカル環境での実行

golangci-lint run ./...

CIでの実行

Pull RequestのPush時にCIでlintのチェックが走ります。
golangci-lintにより問題のある箇所にコメントが付けられます。内容を確認して修正してください。

パッケージの追加方法

パッケージ追加の際はimport文を追加し、次のコマンドを実行することで依存関係の解決とインストールがされます。
パッケージ管理にはgo.modファイルとgo.sumファイルを利用しています。どちらも次のコマンドで更新されるため、手動で編集することはありません。

go mod tidy

Go自体のバージョンを更新する際は、新しいバージョンのGoを環境にインストールし、次のコマンドでgo.modの更新を行なってください。

go mod tidy -go=${VERSION}

GoDoc

次のコマンドによりGoDocでパッケージのドキュメントを提供するWebサーバーが起動します。

# 事前準備
ln -s $(pwd) ${GOROOT}/src

# ドキュメントの表示
go run golang.org/x/tools/cmd/godoc -http=:6060

コマンド実行後にlocalhost:6060にアクセスすることで、モジュールで利用しているパッケージのドキュメントを閲覧できます。

デフォルトではexportされている関数、変数のドキュメントのみ表示されます。
全ての関数、変数のドキュメントを表示するにはlocalhost:6060?m=allへアクセスします。

CI

Pull RequestのPush時にmain.yamlに記載のワークフローがトリガされます。
CIでは次の項目のチェックを行なっています。

  • lint
  • test

gatlingディレクトリについて

gatlingディレクトリはGatling Operatorの実行に必要なファイルを含むディレクトリです。
更新する際はst-tech/gatling-operator/gatlingをコピーしてください。
詳細はWhat is this gatling directory?を参照してください。