嘗試翻譯JRUnit的文件(四)

2021-04-13 12:56:34 字數 3390 閱讀 4471

繼續上次的....

clientserver

下乙個例子是關於在junit框架下執行c/s測試引發的一些問題,以及jrunit是如何解決這些問題的,相關**位於org.jboss.jrunit.sample.clientserver包。原來的測試類******servertest只要做些簡單的改動就可以了——父類從原來的junit.framework.testcase換成org.jboss.jrunit.servertestcase,新的父類可以改變server test執行時的行為(不清楚的讀者可以參考servertestcase這一章以獲得更多關於這個類如何改變server test行為的細節)

public class ******servertest extends servertestcase // note: not testcase, but servertestcase 注意,不是testcase, 而是servertestcase

protected level gettestharnessloglevel()

}我們主要研究一下declaretestclasses()方法,這個方法在testdriver中是抽象類,所以必須要實現它。然後呼叫testdriver類中的addtestclasses()方法。傳遞給addtestclasses方法的引數按順序依次是:要執行的client test類,要生成的客戶端程序數,以及要執行的server test類。注意,這裡的client test類是上乙個例子的org.jboss.jrunit.sample.basic.******clienttest,而server test類則是繼承自servertestcase的org.jboss.jrunit.sample.clientserver.******servertest

還有乙個gettestharnessloglevel()方法,用來告訴driver為test harness**和debug設定怎樣的日誌等級。要執行這個例項,請到根目錄下用ant執行run-sampleclientservertest,控制台會輸出類似下面的資訊:

run-sampleclientservertest:

[junit] running org.jboss.jrunit.sample.clientserver.sampleclientservertest

[junit] tests run: 1, failures: 2, errors: 0, time elapsed: 10.045 sec

[junit] test org.jboss.jrunit.sample.clientserver.sampleclientservertest failed

[junitreport] transform time: 471ms

這個ant任務會在output/test-report/目錄下建立乙個html格式的報告。從上面的結果知道,出現了兩個failure,第乙個failure源自org.jboss.jrunit.sample.basic.******clienttest類的testfailure()方法,另乙個是源自org.jboss.jrunit.sample.clientserver.******servertest類的testrequestcount方法(因為只收到了乙個客戶端的呼叫,而不是30個)。

multiple client server

本例項是基於上乙個例項的,不過現在有三個客戶端程序一起呼叫伺服器。本例項只有乙個新的類,叫做org.jboss.jrunit.sample.multipleclientserver.samplemultipleclientservertest

public class samplemultipleclientservertest extends testdriver

}這個類和先前的sampleclientservertest的差別在於addtestclassses()方法的第二個引數從1變成3。同樣要執行這個例項,同樣必須在根目錄下用ant執行run-samplemultipleclientservertest。控制台輸出類似如下:

run-samplemultipleclientservertest:

[junit] running org.jboss.jrunit.sample.multipleclientserver.samplemultipleclientservertest

[junit] tests run: 1, failures: 4, errors: 0, time elapsed: 11.577 sec

[junit] test org.jboss.jrunit.sample.multipleclientserver.samplemultipleclientservertest

failed [junitreport] transform time: 511ms

這個ant任務同樣在output/test-report/目錄下建立乙個html報告,現在看看輸出的結果,有四個failure。第乙個源自org.jboss.jrunit.sample.basic.******clienttest類的testfailure()方法,而第四個源自org.jboss.jrunit.sample.clientserver.******servertest類的testrequestcount()方法(因為只收到乙個客戶端的呼叫而不是三十個)。這也意味著那三個******clienttest的 testclientcall()方法都成功執行了。

client only

當伺服器端已經在執行時,使用jrunit框架也可以只執行客戶端測試。想要這樣做,就按照org.jboss.jrunit.sample.clientonly.sampleclientonlytest的方式,把addtestclasses()方法的最後乙個引數改為null

public class sampleclientonlytest extends testdriver

}想要執行這個測試,先執行org.jboss.jrunit.sample.basic.******servertest,然後執行org.jboss.jrunit.sample.clientonly.sampleclientonlytest。記住,這種情況下******servertest只能手動關閉,最後的執行結果應該和上乙個例子一樣,只是不再有來自******servertest的failure了。

decorated client server

這個例項與之前的c/s例項非常相似,只是客戶端變成了org.jboss.jrunit.sample.decoratedclientserver.******decoratedclienttest。這個類的**與之前的******clienttest相同,不過增加了一些**,那樣除了junit基本測試結果以外,還能得到benchmark結果。

...public static test suite()

public void testclientcall() throws exception

(翻譯完第三章了,雖然有些地方不是很明白,比如那幾個failure,要仔細看了示例**估計才能搞懂)

Reveal的文件翻譯

經由鏈結的方式整合reveal 鏈結reveal的服務框架到你的ios或者tvos應用程式中,是乙個讓reveal內省快速簡單的方式。在你準備使用reveal之前,需要準備下述步驟 1 開啟reveal並且選中 ios library 或者 tvos library 中的一項。從help 選單中選擇...

Drill官網文件翻譯四 Drill的效能

翻譯自apache drill 官網。drill是從地基開始就奔向高效能和大資料集去設計的,下面列出來的是drill能夠做到高效能的核心要點。drill提供了乙個強大的分布式引擎來處理查詢。使用者可以從集群的任何乙個節點是提交查詢。你可以新增新的節點到集群中,以為了支援更多使用者的更多資料,或是獲得...

關於技術文件的翻譯

最近有人與我 有沒有必要把時間花在技術文件的翻譯上面,我個人覺得是非常有必要的,理由如下 1 提高英文的閱讀能力和對單詞的理解能力。翻譯有個特點,就是要字斟句酌。所以翻譯即是精讀。你不會漏過任何一段文字,你會注意到很多詞在不同地方的用法,這對提高你的英文水平是很有幫助的。所以我覺得學好英語有兩點 一...