カテゴリー
サインイン 新規登録
学習時間 7時間
難易度 初級
質問投稿
価格 ¥980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

RubyでSlackBotを作りながらユニットテストを学ぼう!

Rubyでユニットテストを基礎から学びましょう!Minitestでの基本的なテストからスタブやモックといったテスト手法まで、実践的なテストを身につけれます。テスト対象としてSlackで動作するBotを開発するので、ユニットテストとBot開発の2つを1度に学べます。

0
最終更新 2021/1
zeero

Rubyで手を動かしながらユニットテストを学べる講座です。

ユニットテストというと「難しい」や「面倒」みたいなイメージがないでしょうか?またユニットテストを完璧にすればバグはなくなるみたいなイメージがあったりしないでしょうか?
ユニットテストも銀の弾丸ではなく、これを使えばバグがなくなるという完璧なものではありません。ただ、うまく使えれば開発を快適にし、品質向上に役に立つツールであることは間違いありません。うまく使うためにはどうすればいいのでしょうか?これは実際に使って学ぶ以外に方法はないです。

より実践的にテストが書けるようになるには、テスト対象にも実践的な題材が必要となります。この講座では題材にSlackBotを選びました。Botは入出力ともにテキストなのでプログラムがわかりやすく、また開発方法を知っておくとDevOpsなど開発の効率化に活用しやすいです。

Botという手軽な題材を扱ってユニットテストを実践で身につけてみましょう!
この講座が終わるときにはユニットテストに対する印象や考え方がきっと変わっているはずです。

学習内容

  • ユニットテストの考え方を理解し、Rubyで実装できるようになる
    • Minitest
    • Mocha(モック、スタブ)
    • カバレッジ
  • Rubyでボット開発ができるようになる
    • Rubotyフレームワーク
    • Slack接続

完成物のイメージ

SlackBotの動作イメージ

「四ヶ国語対応版のHello World」をBotで実装します。
「Hello」とBotに話しかけると「World!」と返事し、「こんにちは」と話しかけると「世界!」と返事します。スペイン語・フランス語でも同様に動作します。

https://user-images.githubusercontent.com/105469/102563023-bfa33a00-411b-11eb-8720-e3838349ac90.png

ユニットテストの実行イメージ

Botのソースコードに対するユニットテストを実装し、テストがすべて成功することを確認します。

https://user-images.githubusercontent.com/105469/104798800-e5039080-580c-11eb-93a4-953804799c4f.png

カバレッジレポートのイメージ

ユニットテストの網羅率をHTMLで表示します。

https://user-images.githubusercontent.com/105469/104798833-3b70cf00-580d-11eb-8aa4-630e20398f5d.png

本教材の対象者

  • ユニットテストの基礎を学びたい方
  • RubyでSlackBotを作ってみたい方

受講における必要条件

  • Rubyの初歩的な知識(変数、配列、連想配列、if文、each文、メソッド・クラスの概念を理解している)
  • 簡単なコマンドラインの知識(cdlspwdmkdircatviを使ったことがある)

Rubyを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。

学ばないこと

  • 本講座はBotの開発とそれに対するユニットテストの実装を目的としており、RubyやBundlerといった開発ツールの解説は詳しくしていません。細かく知りたい方はご自身で調べて頂けるようお願いします。

本教材の対応バージョン

  • Ruby 2.6系
  • Ruboty 1系
  • Minitest 5系

本教材で質問対応可能なOSや環境

確実に回答できるのは macOS になります。ただ質問頂いたら、他の環境でも調べてみることはできると思います。

本教材の構成

0章 はじめに

本教材を進める上での環境を整えたり、設計を解説していきます。

1章 Ruboty

RubotyというRubyのBotフレームワークについて解説します。
この章でRubotyを使ったBotのプログラムを開発します。

2章 Minitest

Minitestを使ったユニットテストについての設計と実装について解説します。

カリキュラム

Section 0 はじめに
Section 1 Ruboty
Section 2 Minitest
  • 2-1 はじめてのMinitest
  • 2-2 Hello Worldのテスト
  • 2-3 スタブ
  • 2-4 モック
  • 2-5 Handlerのテスト
  • 2-6 ユニットテストを快適にするツール

講師のプロフィール

教材のレビュー

0.0
0件の評価
0%
0%
0%
0%
0%