cyber.do-joトップ画面

サイト紹介「Cyber-Dojo.org」

Pocket

すごい便利で、役立つと感じたサイトの紹介記事です。

今回は「Cyber-Dojo.org」です。

cyber.do-joトップ画面

勉強会で教えてもらったサイトで、各種言語のユニットテストを学ぶことができるサイトです。英語のページですが、基本的な機能は英語が読めなくても問題ありません。

ユニットテストの勉強を始める際、複数人でワイワイとユニットテストを組む練習をする時に重宝するサイトです。

特に素晴らしいと感じた点は以下。
・テスト環境を用意することなく、ブラウザ上でテストコードを実装して挙動を確認できる

対応言語が非常に豊富で、CやJava、Ruby、Pythonといったメジャーどころは勿論のこと、RやKotlinなど、2017/11時点で31種類のプログラミング言語に対応しています。

しかも各言語ごと複数のテスト環境が準備されています。例えばJavaであれば、JUnit、JMock、Mockitoなど全7種に対応しており、ユニットテストの学習には十分すぎます。

FizzBuzzやCombined Numberといったプログラム例も準備されており、対応するプログラムとテストコードをすぐに作成することができます。加えて作業途中の内容を残して、後から続きを行うことも可能。チームとして複数人で作業することもできるし、過去のコードに遡ることもできます。至れり尽くせり。

簡単な使い方を以下に記します。
【例.JUnitを勉強する場合】
①サイトにアクセスし、「startup a default practice」ボタンを押下します。
cyber.dojo_トップ画面選択
②言語(language?)で「Java」、テスト(tests?)で「JUnit」を選択し、「next」ボタンを押下します。
cyber.dojo_テスト言語選択
③課題として、今回は「Fizz Buzz」を選択し、「set it up & start programming」ボタンを押下します。
(複数人で別々に作業したい場合は「set it up & show the hex-id」ボタン押下)
 ※左側の説明は課題(Fizz Buzz)の説明=3の倍数でFizzと出力し、5の倍数でBuzz、15の倍数でFizzBuzzと出力するというもの
cyber.dojo_課題選択
④動物の画像が表示されるので、「OK」ボタンを押下します。
 ※チーム(複数人)で作業する場合はこの動物が自分を示すアイコンになります
cyber.dojo_開始
⑤左側にあるファイルを選択すると、右側のエディタに内容が表示されます。
 ・Hiker.java:処理プログラム
 ・HikerTest.java:Hiker.javaのテストプログラム
 ・instructions:課題の説明
cyber.dojo_テスト_1
⑥まずは何も編集せずに「test」ボタンを押下します。
cyber.dojo_テスト_2
⑦陰陽のマークが表示された後、実行結果が表示されます。初期状態ではエラーが発生する内容になっており、赤い丸マークが表示されます。動物アイコンの左側の赤丸は今まですべてのテストが失敗しているという意味です。
cyber.dojo_テスト_3
⑧Hiker.javaのanswer()メソッドは戻り値が54になっており、HikerTest.javaではanswer()メソッドの戻り値が42と一致するか確認しています。当然エラーとなります。HikerTest.javaのチェック値を54に変えて、「test」ボタンを押下します。
cyber.dojo_テスト_4
⑨2個めの丸が緑になり、2回目のテストは成功したことを表しています。動物アイコンの左側は半分が赤、半分が緑となっており、今までのテスト結果を割合で表示しています。
cyber.dojo_テスト_5

以降はテスト用のメソッドを追加したり、クラスを追加したりしながら、課題のプログラムを実装しつつテストプログラムを組んでいきます。いわゆるテスト駆動開発ですね。

複数人で一緒にわいわい、楽しみながら組んでいく時間を設けることができれば、テスト開発が浸透していない会社などでも普及が望める気がしますね。

広告

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です