簡體   English   中英

單元測試 Modelica 組件庫?

[英]Unit testing Modelica component library?

我正在 Modelica 中創建一個組件庫,並希望對單元測試包的技術提供一些輸入。

到目前為止,我有一個測試包,由一組模型組成,每個組件一個。 每個測試模型實例化一個組件,並將其連接到一些非常簡單的幫助類,這些類提供必要的輸入和輸出。

在 OMEditor 中以交互方式使用它時,這很好用,但我正在尋找具有通過/失敗標准等的更自動化的解決方案。

我應該開始編寫 .mos 腳本,還是有其他/更好的方法?

謝謝。

我喜歡 Openmodelica 測試結果的外觀,請參閱

不過不知道他們是怎么做的。 顯然已經完成了某種回歸測試,並存儲了以前的結果,但不知道這是來自某個測試庫還是自制的。


總的來說,我覺得有點悲哀/次優,沒有每個人都可以/應該使用的“唯一”測試解決方案(參見 Python 生態系統中的鼻子或 pytest),相反,每個人似乎都在制定自己的解決方案(或嘗試),而您發現的只是一些 Modelica 會議論文(通常沒有實施的痕跡)或未維護的未知狀態的圖書館。

在我的腦海里,我發現/知道(有些已經在這里的其他答案中鏈接了)

這似乎是https://xkcd.com/927/的病理性實例。 對於(非開發人員)用戶來說,幾乎不可能知道選擇哪些,哪些實際上是好的/可用/可用/...

(不是真正的測試,但也相關:使用 ANTLR 進行解析和語義分析:modelica.org/events/Conference2003/papers/h31_parser_Tiller.‌ pdf)

編寫.mos腳本是一種方法,但 Michael Tiller 還提供了一個小型的概念驗證庫: XogenyTest ,您可以將其用作基礎。

我更喜歡使用.mos腳本,當您將測試框架進一步集成到持續集成工具中時,它可以很好地工作。 BuildingPy 就是一個很好的例子,雖然它沒有在 CI 工具中實現,但它仍然是一個很好的工具。

這是一個好的框架設計的參考: UnitTesting: A Library for Modelica Unit Testing

如果您有 Mathematica 和 SystemModeler,您可以從 Mathematica 運行模擬並使用VerificationTest “函數”進行測試: VerificationTest[Abs[WSMSimulate["HelloWorld"]["x", .1] - .90] < .01]

然后可以在TestReport[]模擬多個測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM