首页 文章

单元测试Modelica组件库?

提问于
浏览
5

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

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

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

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

谢谢 .

4 回答

  • 2

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

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


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

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

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

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

  • 6

    编写一个 .mos 脚本将是一种方式,但Michael Tiller还有一个小概念验证库:XogenyTest,您可以将其作为基础 .

  • 3

    我更喜欢使用 .mos 脚本,当您将测试框架进一步集成到持续集成工具中时,它可以很好地工作 . BuildingPy就是一个很好的例子,尽管它仍然是一个很好的工具 .

    这是一个很好的框架设计的参考:UnitTesting: A Library for Modelica Unit Testing

  • 1

    如果您有Mathematica和SystemModeler,您可以从Mathematica运行模拟并使用 VerificationTest "function"来测试: VerificationTest[Abs[WSMSimulate["HelloWorld"]["x", .1] - .90] < .01] .

    然后可以在 TestReport[] 中模拟多个测试 .

相关问题