shell script 自動化測試架構,shellscript
shUnit2的開發背景
shUnit2是基於log4sh SHELL自動化測試對應而開發的, 使用方式和JUnit類似.
準備
1. 下載shUnit2
wget -P ~/download http://shunit2.googlecode.com/files/shunit2-2.1.6.tgz
2. 解壓
tar -xzvf ~/download/shunit2-2.1.6.tgz
3. 執行測試案例
~/download/shunit2-2.1.6/examples/equality_test.sh
測試執行的內部處理
shUnit2的內部處理流程如下所示.
- shunit2執行時會列舉出所以有test開頭的測試函數
- oneTimeSetUp函數被定義的情況下, 就執行該函數
- 被列舉的各個測試函數按如下方式執行:
- setUp函數被定義的情況下, 就執行該函數
- 執行測試函數
- tearDown函數被定義的情況下, 就執行該函數
- oneTimeTearDown函數被定義的情況下, 就執行該函數
. "$SHUNIT2_HOME"/src/shell/shunit2
產生測試代碼
例:
#!/bin/sh# file: test/my_function_test.sh# 讀取測試對象. ../src/my_function.shoneTimeSetUp() {:}oneTimeTearDown() {:}setUp() {:}tearDown() {:}# 測試案例testMyFunction() { assertTrue "[ `myFunction 2` -eq 4 ]"}. "$SHUNIT2_HOME"/src/shunit2
#!/bin/sh# file: src/my_function.shmyFunction() { echo `expr $1 \* $1`}
原文參考: http://d.hatena.ne.jp/oknknic/20110823/1314113501
根據以下內容寫一個SHELL Script
#!/bin/ksh
while [ 1 ]
do
echo "Please enter a filename:\c"
read filename
if [ -z "${filename}" ];then
continue
elif [ -f "`pwd`/${filename}" ];then
more ${filename}
break
fi
done
自動化測試架構都有什?
自動化測試架構主要分為以下幾種,可以根據項目需要進行選擇
1.模組化架構(test script modularity)。
2.函數庫結構架構(test library architecture)。
3.關鍵字驅動測試架構(keyword-driven/table-driven testing)。
4.資料驅動測試架構(data-driven testing)。