kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

golangで標準入力からテスト実行を考えてみる

f:id:kazu22002:20200918213002p:plain

研修時につかえるテストコードはどう作るのがいいのか少し悩んでいたので、考えてみました。

やりたいことはAtCoderみたいなコードを書いて提出したら、テストの内容を元にOK,NGが判断できる仕組みが作りたい感じです。

golangで書いてみた

github.com

作った実行ファイルを「main」というファイル名で出力して使用します。

mainの実行ファイルに標準入力でデータを入力して、標準出力される内容をファイルに書き込んでいます。

testsディレクトリにin, outの拡張子を元にテスト結果を判断できるようにすれば良さそうだな。と思って作ってみました。

研修で使うときは、問題内容と共にディレクトリ内にtestsとtest実行用ファイルを作成しておけば、チェックを人力でやらなくてもできそうかな。と思っています。

雑記

学校の課題でもコードのチェックで同じような仕組みがあったけど、どう作ってたのか気になりますね。

やろうと思えば意外とできますね。ファイル出力等のチェックだと別のテストツールを作った方がいいのかな。

何パターンか必要かもしれないかな。研修の問題を確認してほかに作るのを検討しておきます。