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

More Related Content

PPTX
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
PDF
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
PDF
오픈스택 멀티노드 설치 후기
PDF
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
PDF
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
PPTX
Terraform
PDF
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
PDF
Machine configoperatorのちょっとイイかもしれない話
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
오픈스택 멀티노드 설치 후기
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
Terraform
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Machine configoperatorのちょっとイイかもしれない話

What's hot (20)

PDF
Paul Angus - CloudStack Backup and Recovery Framework
PPTX
NGINXをBFF (Backend for Frontend)として利用した話
PDF
[KubeCon EU 2022] Running containerd and k3s on macOS
PPTX
graylog.pptx
PPTX
Secret Management with Hashicorp Vault and Consul on Kubernetes
PDF
Terraform + ansible talk
PPTX
NGINX Installation and Tuning
PDF
Terraform OpenStack : Mise en pratique sur infrastructure OVH (Rennes devops)
PPTX
Qlik Replicateでのレプリケーション・タスクの監視と制御
PPTX
Docker Swarm for Beginner
PDF
Concevoir, développer et sécuriser des micro-services avec Spring Boot
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
PDF
IETFの道しるべ-IETFの歩き方-20230124.pdf
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PDF
systemdを始めよう
PPTX
Openstack zun,virtual kubelet
PDF
HyperLedger Fabric V2.5.pdf
PDF
Guide of authentication and authorization for cloud native applications with ...
PDF
Cours design pattern m youssfi partie 1 introduction et pattern strategy
PDF
openstack+cephインテグレーション
Paul Angus - CloudStack Backup and Recovery Framework
NGINXをBFF (Backend for Frontend)として利用した話
[KubeCon EU 2022] Running containerd and k3s on macOS
graylog.pptx
Secret Management with Hashicorp Vault and Consul on Kubernetes
Terraform + ansible talk
NGINX Installation and Tuning
Terraform OpenStack : Mise en pratique sur infrastructure OVH (Rennes devops)
Qlik Replicateでのレプリケーション・タスクの監視と制御
Docker Swarm for Beginner
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
IETFの道しるべ-IETFの歩き方-20230124.pdf
OpenStack超入門シリーズ Novaのディスク周りあれこれ
systemdを始めよう
Openstack zun,virtual kubelet
HyperLedger Fabric V2.5.pdf
Guide of authentication and authorization for cloud native applications with ...
Cours design pattern m youssfi partie 1 introduction et pattern strategy
openstack+cephインテグレーション
Ad

Similar to Shellを書こう 02 shUnit2を使おう (12)

PPTX
PowerShell 小技集
PDF
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
PPTX
Powershell基礎_20180521用
ODP
sshdのお話
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
jenkinsで遊ぶ
PPTX
Startup JavaScript
PPTX
Powershell勉強会 v5 (こちらが最新です。)
PDF
OpenStackトラブルシューティング入門
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PPTX
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
PowerShell 小技集
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Powershell基礎_20180521用
sshdのお話
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
jenkinsで遊ぶ
Startup JavaScript
Powershell勉強会 v5 (こちらが最新です。)
OpenStackトラブルシューティング入門
CloudFoundry 2 on Apache CloudStack 4.2.1
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Ad

More from Keisuke Oohata (11)

PDF
Shellを書こう 01 Shellcheckを使おう
PDF
Google SpreadSheetでtwitter bot作ったよ
PDF
今更だけどSqLite触ってみたよ
PDF
Kanazawa.rb 3周年KPT
PDF
イベント継続のコツ
PDF
Kzrb金庫番
PDF
ライフゲーム最後まで作ってみました
PDF
kanazawa.rb meetup #24 2 anniversary kpt
PDF
Kzrb2周年目収支
PDF
水平思考のススメ
PDF
ゆるふわっGit入門
Shellを書こう 01 Shellcheckを使おう
Google SpreadSheetでtwitter bot作ったよ
今更だけどSqLite触ってみたよ
Kanazawa.rb 3周年KPT
イベント継続のコツ
Kzrb金庫番
ライフゲーム最後まで作ってみました
kanazawa.rb meetup #24 2 anniversary kpt
Kzrb2周年目収支
水平思考のススメ
ゆるふわっGit入門

Shellを書こう 02 shUnit2を使おう