概述,junitperf安裝,Windows,Unix (bash),junitperf 的構建與測試,構建,測試,junitperf 的局限性,
概述
由於在單元測試中實際調用的就是單元代碼,因此,測試單元測試的執行效率可以直接的反應實際代碼的效率。Junitperf實際是junit的一個decorator,通過編寫用於junitperf的單元測試,我們也可使這一測試過程自動化。
junitperf安裝
Windows
在Windows上按以下步驟安裝:
1. 解壓junitperf-.zip檔案到一個目錄中,在系統環境變數中增加%JUNITPERF_HOME%,值為檔案解壓後的目錄。
2. 把JUnitPerf加到CLASSPATH路徑中:
set CLASSPATH=%CLASSPATH%;%JUNITPERF_HOME%/lib/junitperf-.jar
Unix (bash)
在UNIX上按以下步驟安裝:
1. 解壓縮junitperf-.zip到相應的目錄下。例如:$JUNITPERF_HOME。
2. 修改檔案的許可權:
chmod -R a+x $JUNITPERF_HOME
3. 把JUnitPerf加到CLASSPATH路徑中:
export CLASSPATH=$CLASSPATH:$JUNITPERF_HOME/lib/junitperf-.jar
junitperf 的構建與測試
在$JUNITPERF_HOME/lib/junitperf-.jar檔案中已經包含有編譯好的類檔案。
構建
$JUNITPERF_HOME/build.xml檔案是Ant構建檔案。
可以使用以下命令構建JUnitPerf:
cd $JUNITPERF_HOME
ant jar
測試
JUnitPerf安裝包中包含了用於跟JUnitPerf結合使用的JUnit測試用例的實例。
可以輸入以下命令驗證JUnitPerf安裝是否正常:
cd $JUNITPERF_HOME
ant test
junitperf 的局限性
JUnitPerf已知有以下缺陷:
· TimedTest返回的時間是測試用例的testXXX()方法的時間,包括setUp(), testXXX()和 tearDown()三個方法的總時間,這是任何測試實例中所能提供的最小的測試粒度。因此期望的時間也應該考慮set-up 和tear-down的運行時間。(譯者註:或者可以自己在JUnit測試用例使用System.currentTimeMillis()方法來計算某個步驟的執行時間)
· The performance of your tests can degrade significantly if too many concurrent users are cooperating in a load test. The actual threshold number is JVM specific.
· 在壓力測試中如果有太多的用戶並發運行則測試情況會越來越糟。應該參照JVM的規範來指定用戶數。