我正在 Modelica 中创建一个组件库,并且希望获得一些有关对包进行单元测试的技术的意见。
到目前为止,我有一个测试包,由一组模型组成,每个组件一个模型。每个测试模型都会实例化一个组件,并将其连接到一些非常简单的帮助器类,这些类提供必要的输入和输出。
在 OMEditor 中交互使用它时效果很好,但我正在寻找具有通过/失败标准等的更加自动化的解决方案。
我应该开始编写 .mos 脚本,还是有其他/更好的方法?
Thanks.
我喜欢 Openmodelica 测试结果的样子,请参阅
- https://test.openmodelica.org/libraries/MSL_3.2.1/BuildModelRecursive.html https://test.openmodelica.org/libraries/MSL_3.2.1/BuildModelRecursive.html
- 单击红色单元格:https://test.openmodelica.org/libraries/MSL_3.2.1/files/Modelica.Electrical.Analog.Examples.AD_DA_conversion.diff.html https://test.openmodelica.org/libraries/MSL_3.2.1/files/Modelica.Electrical.Analog.Examples.AD_DA_conversion.diff.html
- 对于失败的信号选择“javascript”:https://test.openmodelica.org/libraries/MSL_3.2.1/files/Modelica.Electrical.Analog.Examples.AD_DA_conversion.diff.resistor.v.html https://test.openmodelica.org/libraries/MSL_3.2.1/files/Modelica.Electrical.Analog.Examples.AD_DA_conversion.diff.resistor.v.html
但不知道他们是如何做到的。显然,进行了某种回归测试,并存储了以前的结果,但不知道这是来自某个测试库还是自制的。
总的来说,我觉得有点悲伤/次优,没有每个人都可以/应该使用的“唯一”测试解决方案(例如Python生态系统中的nose或pytest),相反每个人似乎都在制定自己的解决方案(或试图),而你发现的只是一些 Modelica 会议论文(通常没有实现的痕迹)或状态未知的未维护的库。
我突然发现/知道(有些已经在其他答案中链接)
- 操作测试 https://test.openmodelica.org/libraries/MSL_3.2.1/BuildModelRecursive.html
-
JModelica 测试 http://www.jmodelica.org/api-docs/compliance_diagnostics/1.17/check/index.html(似乎只测试编译器错误?)
-
Xogeny测试 https://github.com/xogeny/XogenyTest(库本身的一些测试对我来说失败了。而且,似乎不包括测试运行程序)
-
MoUnit http://publica.fraunhofer.de/dokumente/N-319524.html(Fraunhofer 的东西,未公开提供 - 也许在 OneWind/OneModelica 中?)
-
单元测试 https://modelica.org/events/modelica2006/Proceedings/sessions/Session6c4.pdf(显然是 XogenyTest 的某种前身。此外,没有找到来源/实现)
-
(显然是一个Modelon 的商业产品 http://www.intrinsim.com/OptimicaTestingToolkits.html)
- 系统建模器验证测试 https://stackoverflow.com/a/36183061/5363743
-
建筑物间谍 http://simulationresearch.lbl.gov/modelica/buildingspy/Python 包,用于回归测试 http://simulationresearch.lbl.gov/modelica/buildingspy/development.html#module-buildingspy.development.regressiontest除其他事项外。在伯克利 Modelica 建筑图书馆的保护下。 (仅使用 Dymola 进行模拟)
-
Modelica_要求 http://www.ep.liu.se/ecp/118/067/ecp15118625.pdf库——定义模拟的要求。 (声称是开源并已实现,但显然在任何地方都无法使用)
- ...我确信还有更多我忘记或不知道的事情
这似乎是一个病态的例子https://xkcd.com/927/ https://xkcd.com/927/。 (非开发)用户几乎不可能知道要选择哪些,哪些实际上是好的/可用的/可用的/...
(不是真正的测试,但也相关:使用 ANTLR 进行解析和语义分析:modelica.org/events/Conference2003/papers/h31_parser_Tiller.pdf)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)