test::base
是乙個資料驅動測試框架,能讓你更加容易地編寫你自己的測試框架。在學習test::base
之前,你需要具有一點點的perl
語言基礎。關於test::base
的官方說明請移動到 test::base 官方文件。
首先你需要安裝perl
,關於perl
的安裝這裡不再詳細展開,一般的linux
系統都預設有安裝,現在我們來安裝一下cpanm
,這是乙個能夠從 cpan 中獲取、解包編譯和安裝模組,在安裝我們需要的模組test::base
。
$apt-get install cpanminus
$cpanm test::base
為了介紹一下如何使用test::base
,現在假設我們寫乙個測試框架來簡單測試code
段和verify
段的**是否一致,學會了這個基本的結構,你就能編寫很多很複雜的測試用例,目錄結構如下所示:
|——lib
| |——test
| |——style
| |——baselib.pm
| |——util.pm
|——t
|——main.t
use lib 'lib'; # 新增我們的庫路勁 lib,上面的 lib 資料夾
use test::style::baselib 'no_plan'; # 選擇 no_plan 表示沒有測試計畫
run_test(); # 執行程式自定義的入口函式
__data__
=== test 1: test1
--- code
local x = 1 --set x = 1
--- verify
local x = 1 -- set x = 1
=== test 2: test2
--- code
local x=1 -- set x = 1
--- verify
local x = 1 -- set x = 1
先講解一下上面的程式,__data__
是perl
**中放置文字的地方。
文字區域是由block
組成的。例如下面就是乙個block
:
=== test 1: test1
--- code
local x = 1 --set x = 1
--- verify
local x = 1 -- set x = 1
package test::style::baselib;
# 注意!若要使用下面的模組需要用類似 cpanm test::base 這種方式來安裝。
use test::base -base;
use file::temp qw( tempfile ); # 建立臨時檔案的模組
use ipc::run (); # 此模組可以很好地執行我們的 shell 指令
use data::dumper;
# 匯出本檔案內的 run_test 函式,若沒有此行** main.t 將無法使用該函式。
our @export = qw(
run_test
);sub run_test()
}sub run_block($)
1;__end__
none
在與lib
和t
同一級目錄下執行:
prove -v t/main.t
或者
prove -v t/*
表示t
目錄下所有檔案,若執行成功,則會列出來,若失敗,也會有提示。
若在使用test::base
構建自己的測試框架的過程中遇到問題,歡迎交流!
使用python測測你的系統最多能建立多少個執行緒
使用python測測你的系統最多能建立多少個執行緒 2012 12 09 08 27 00 收藏 使用乙個迴圈,不斷的建立執行緒,直到出現異常,才通知它們。python真是個好東西。如下 usr bin env python coding gbk import threading import ti...
使用systemd來構建你的服務
systemd 服務是一種以 service 結尾的單元 unit 配置檔案,用於控制由systemd 控制或監視的程序。簡單說,用於後台以守護精靈 daemon 的形式執行程式。service檔案編寫簡單易用 可以自動維持程序存活 強大的功能,可以取代pm2 自動收集程序輸出的輸出 可以看到sys...
使用systemd來構建你的服務
systemd 服務是一種以 service 結尾的單元 unit 配置檔案,用於控制由systemd 控制或監視的程序。簡單說,用於後台以守護精靈 daemon 的形式執行程式。service檔案編寫簡單易用 可以自動維持程序存活 強大的功能,可以取代pm2 自動收集程序輸出的輸出 可以看到sys...