Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Shellを書こう 02 shUnit2を使おう

shUnit2の特徴、インストール、使い方の説明です。

  • Be the first to comment

  • Be the first to like this

Shellを書こう 02 shUnit2を使おう

  1. 1. shUnit2を使おう kanazawa.rb meetup#46 2016年06月18日 Shellを書こう 02
  2. 2. @cotton_desu
  3. 3. シェル書いてますか?
  4. 4. shellでもテスト できるの知ってましたか?
  5. 5. 実は
  6. 6. shUnit2で出来るんです
  7. 7. shUnit2とは
  8. 8. シェルスクリプトのテストフレームワーク • 対応OS (FreeBSD,Linux,Mac OS X,Solaris..etc) • 対応シェル (sh,bash,dash,ksh,pdksh,zsh) shUnit2とは
  9. 9. インストールは簡単
  10. 10. https://code.google.com/archive/p/shunit2/downloads
  11. 11. ダウンロード&展開のみ
  12. 12. 使い方
  13. 13. • testで始まるファンクションがテスト対象 • テストスクリプトの最後にshunit2を 読み込む • テストスクリプトを実行 使い方(ルール)
  14. 14. Assert機能を使って期待している 値と動作結果を確認する
  15. 15. 例えば、assertEquals
  16. 16. 2つの引数の値を比較する • 2つの値が一致した場合、成功(OK) • 2つの値が不一致の場合、失敗(FAILED) assertEquals
  17. 17. 作成例
  18. 18. #! /bin/sh testEquality() ←testで始まるファンクション名 { assertEquals 1 1 } # load shunit2 . ../src/shunit2 ←最後にshunit2を読み込む equality_test.sh
  19. 19. 実行例
  20. 20. sh equality_test.sh testEquality ←実行したファンクション名 Ran 1 test. ←実行ファンクション数 OK ←テストの成功
  21. 21. 失敗例
  22. 22. #! /bin/sh testEqualityNg() ←testで始まるファンクション名 { assertEquals 1 2 } # load shunit2 . ../src/shunit2 ←最後にshunit2を読み込む equalityng_test.sh
  23. 23. 実行例
  24. 24. sh equalityng_test.sh testEqualityNg ASSERT:expected:<1> but was:<2> ←失敗理由 Ran 1 test. ←実行ファンクション数 FAILED (failures=1) ←テストの失敗
  25. 25. shUnit2ではassertEquals以外の assertもあります
  26. 26. https://sites.google.com/site/paclearner/shunit2-documentation
  27. 27. Demo
  28. 28. • インストールも使い方も簡単 • テストコードの書き方も簡単 • shellによるテストライフを始めましょう 総括

×