2010-01-24 45 views
3

人們用什麼技術和設計策略來輔助單元測試Jade應用程序?特別是,人們通常如何測試行爲 - 這與代理實例和Jade環境緊密相關?我意識到JadeMX項目,但是這似乎更適合系統測試 - 特別是協作代理之間的消息交換。單元測試Jade

謝謝。

回答

2

JADE傾向於過度使用繼承,正如您正確地指出的那樣,結果(除其他外)在高度耦合,難以測試的行爲中。

在工作中,我們編寫了一個位於代理/行爲和JADE之間的自適應層,並允許我們單獨測試我們的行爲。我們計劃將這個版本作爲OSS發佈,但是有幾個管理環節首先要跳過。

在家裏,我已經開始研究jade-oo,這是一個向後兼容的JADE重構,它使用單元測試的POJO進行行爲邏輯。它仍然在alpha階段,但到目前爲止,我已經能夠用更少的樣板代碼和更多的可測試邏輯來生成行爲。

更新:我向jade-oo網站添加了示例和文檔。請看一下,讓我知道你的想法。

+0

感謝您的回覆。該項目聽起來不錯,只需要什麼。你提到的適應層的一個小例子的機會嗎?謝謝。 – Martin 2010-02-02 16:28:27

+0

簡而言之,我們有一套從JADE Agents/Behaviors繼承而來的代理/行爲,對於我們使用的每種JADE類型都有一個代理/行爲。其中每一個都有一個通過接口保存的委託對象,它將所有的方法傳遞給它。然後可以對這些委託對象進行單元測試,而不用實例化任何JADE基類。它的工作原理,從客戶端代碼的PoV來看,它非常乾淨,但是有很多問題只能通過更新JADE代碼來解決;因此我正在研究玉琢。我會盡快發佈如何在其谷歌代碼頁面上運行的示例。 – dan 2010-02-04 08:37:46