单元测试Modelica组件库?

Jac*_*lch 6 modelica openmodelica

我正在Modelica中创建一个组件库,并希望对单元测试包的技术有所了解.

到目前为止,我有一个测试包,由一组模型组成,每个组件一个.每个测试模型都实例化一个组件,并将其连接到一些非常简单的辅助类,这些辅助类提供必要的输入和输出.

这在OMEditor中以交互方式使用时工作正常,但我正在寻找具有通过/失败标准等的更自动化的解决方案.

我应该开始编写.mos脚本,还是有其他/更好的方法?

谢谢.

Chr*_*oph 6

我喜欢Openmodelica测试结果的外观,请参阅

但不知道他们是怎么做的.显然,已经完成了某种回归测试,并存储了以前的结果,但不知道这是来自某些测试库还是自制的.


总的来说,我发现它有点悲伤/次优,没有每个人都可以/应该使用的"一个"测试解决方案(参见例如python生态系统中的鼻子或pytest),相反,每个人似乎都在制定他们自己的解决方案(或者试图),你找到的只是一些Modelica会议论文(通常没有实施的痕迹)或未知状态的未维护的库.

在我的头顶,我发现/知道(一些已经链接在其他答案在这里)

  • OM测试
  • JModelica测试(似乎只测试编译器错误?)
  • Xogeny测试(库的一些测试本身对我失败.另外,似乎没有包括测试运行器)
  • MoUnit(Fraunhofer的东西,而不是公开的 - 可能在OneWind/OneModelica?)
  • UnitTesting(显然是XogenyTest的某种前身.此外,没有找到任何来源/实现)
  • Optimica Testing Toolkit(显然是Modelon商业产品)
  • SystemModeler VerificationTest
  • buildspy Python包,用于回归测试等.在伯克利Modelica建筑图书馆的保护伞下.(仅使用Dymola进行模拟)
  • Modelica_Requirements库 - 定义模拟的要求.(声称是开源和实施,但显然在任何地方都没有)
  • ......我确信还有更多我忘记或不知道的事情

这似乎是https://xkcd.com/927/的病态实例.对于(非开发)用户来说,有必要知道选择哪一个,哪些实际上是好的/可用的/可用的......

(不是真正的测试,但也是相关的:使用ANTLR进行解析和语义分析:modelica.org/events/Conference2003/papers/h31_parser_Tiller.pdf)

  • 非常详细的清单 - 谢谢!我同意,遗憾的是没有一个解决这个问题的通用解决方案(或解决方案类).我在.Net/C#世界做了很多工作,其中有许多测试解决方案都遵循相同的模式:xunit,nunit等,每个都有VS集成测试运行器和自动构建支持.Modelica有很多值得关注的东西,但缺乏优秀的devops工具对我来说是一个很大的减值. (2认同)