单元测试 Modelica 组件库?

2024-01-03

我正在 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(使用前将#替换为@)

单元测试 Modelica 组件库? 的相关文章

  • 为 REST API 编写单元测试的最佳方法是什么?

    在为 API 包装器编写单元测试时 我应该对 REST API 端点进行真正的调用 还是应该使用 mocl 响应来模拟成功和错误的调用 单元测试意味着只测试你的unit API 包装器 仅此而已 因此 不幸的是 您应该模拟整个 API 另一
  • 如何阻止 Python unittest 打印测试文档字符串?

    我注意到 当我的 Python 单元测试在函数顶部包含文档时 有时框架会在测试输出中打印它们 通常 测试输出每行包含一个测试
  • EntityTypeConfiguration - 什么是测试数据库映射的干净方法?

    背景 我公司当前的结构是使用 Plinqo Linq to Sql 创建 数据访问对象 然后使用一组自定义的 CodeSmith 模板来构建 业务对象 长话短说 这两组对象紧密耦合 并且使用 Linq to SQL 会导致非常丑陋的解决方法
  • 计算 TCP 重传次数

    我想知道在LINUX中是否有一种方法可以计算一个流中发生的TCP重传的次数 无论是在客户端还是服务器端 好像netstat s解决了我的目的
  • 如何在单元测试中的请求之间更改 $httpBackend when[method] 语句?

    在我的测试中 我启动一些模型数据并模拟响应 beforeEach function var re new RegExp http users online httpBackend whenGET re respond id 12345 us
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • 如何在 akka actor 中测试公共方法?

    我有一个 akka 演员 class MyActor extends Actor def recieve def getCount id String Int do a lot of stuff proccess id do more st
  • Swift 单元测试 - 如何断言 CGColor 是它应该的样子?

    使用 Xcode V7 2 尝试进行单元测试 需要验证是否已设置正确的颜色 并收到以下消息 Cannot invoke XCTAssertEqual with an argument list of type CGColor CGColor
  • Bug:VS2017 Live 单元测试 - 只有减号 - 不起作用

    TL 博士 编辑6 我缩小了范围并提供了重现问题 错误的 5 个步骤 创建 VS2017 c 控制台应用程序 Net 完整框架 将方法添加到 Program cs 并使该类公开 public class Program static voi
  • Maven 未运行 Spring Boot 测试

    我有一个要测试的 Spring Boot REST API 我可以在 Eclipse 中手动运行测试 无需 Maven 并通过将应用程序作为 JUnit 测试运行 它运行良好并显示结果 但是mvn test正如您将在下面发现的那样 它不起作
  • 如何从 Visual Studio 以调试模式运行 NUnit?

    我最近正在为我一直在研究的一些 C 构建一个测试框架 我在工作区中设置了 NUnit 和一个新项目来测试该组件 如果我从 Nunit v2 4 加载单元测试 一切都会很好 但我已经到了在调试模式下运行并设置一些断点非常有用的地步 我已经尝试
  • 对 Java Servlet 进行单元测试

    我想知道对 servlet 进行单元测试的最佳方法是什么 只要内部方法不引用 servlet 上下文 测试内部方法就不是问题 但是测试 doGet doPost 方法以及引用上下文或使用会话参数的内部方法呢 有没有办法简单地使用经典工具 例
  • 模拟类:Mock() 还是 patch()?

    我在用mock http www voidspace org uk python mock index html使用Python 想知道这两种方法中哪一种更好 阅读 更Pythonic 方法一 只需创建一个模拟对象并使用它 代码如下 def
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • Enzyme - 测试嵌套组件是否正确呈现

    我正在尝试测试当通过简单的布尔值更新状态时 在父组件中其子组件是否正确呈现 在父组件下面 class Parent extends Component render const isReady this state const props
  • 如何模拟私有内部类

    我有一个 spring 应用程序 我想在像这样的控制器上创建一个单一测试 问题是Wrapper类是私有内部类 所以测试中看不懂Wrapper 是否可以在不更改控制器类的情况下使用 Mockito 来模拟它 我可以使用prepareData
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 带完整堆栈跟踪的单元测试

    这似乎是一个愚蠢的问题 但我无法在任何地方找到答案 我正在使用 Rails 3 1 和 Test Unit 当测试失败时 我只能看到堆栈的顶部 例如 ERROR creating a message sends emails 1 35s N
  • 具有多个输入的单元测试

    我一直在尝试进行单元测试 并且正在尝试处理一个函数的单元测试 该函数的返回值取决于一堆参数 不过信息量有点大 有点让人不知所措 考虑以下 我有课Article 其中有价格集合 它有一个方法GetCurrentPrice它根据一些规则确定当前
  • 如何替换被测模块的文件访问引用

    pyfakefs https code google com p pyfakefs 听起来非常有用 它 最初是作为核心 Python 模块的一个适度的假实现来开发的 以支持中等复杂的文件系统交互 并于 2006 年 9 月在 Google

随机推荐

  • 如何禁用故事书中的“文档”选项卡?

    如何在每个故事的基础上禁用 文档 插件文档 选项卡 我尝试将以下关键值添加到故事中 但似乎没有任何效果 parameters docs disable true hidden true 我正在运行 Storybook 5 3 8 这将隐藏文
  • 为什么 Java 飞行记录仪采集的样本太少?

    我们的应用程序性能不佳 因此我们使用飞行记录器的方法分析来查看时间花在哪里 它基本上可以工作 但是一分钟的记录中采集的样本数量远低于 100 个 使用 分析 预设 我使用了一个简单的示例应用程序 对随机数求和 进行比较 一分钟或记录生成约
  • 在同一个样式表中结合 IE6 和 IE7 css hack

    我通常使用 IE 条件语句 并且每个条件语句都有一个样式表 对我来说 这是一种更简洁的方法 然而由于某些限制 我必须在同一个样式表中破解 ie6 和 7 我知道它不会验证 但是如何在同一个样式表中使用 hack 来隔离 ie6 和 ie7
  • VS 2015。为 ASP.NET 5 Web 项目设置正确的目标框架

    我在 Visual Studio 2015 中创建了新的 ASP NET 5 MVC 项目 在项目创建向导中 我选择显示 NET Framework 4 6 的模板 然后在下一个屏幕上从 ASP NET 5 预览版中选择 Web 应用程序
  • Objective C 中类扩展和继承中属性的可见性

    假设我有 2 个类 Money 和 Dollar 其中 Dollar 继承自 Money Money 有一个在类扩展中声明的属性 import Money h interface Money property nonatomic NSUIn
  • 如何在 R 中将矩阵分成更小的矩阵?

    我有以下矩阵 2 4 1 6 32 1 4 2 1 5 3 2 4 2 2 我想根据第三列制作以下两个矩阵 first 2 4 6 32 4 2 second 5 3 4 2 我能想到的最好的办法 但我收到一个错误 x y If mat是你
  • 实现拖放功能 WebBrowser 控件 Winforms C#

    我需要在 WinForm C 中捕获 WebBrowser 控件的拖放事件 有什么办法吗 我的解决方法 使用布尔成员变量来检测是否从内部代码调用导航或从外部代码调用导航 实现 Navigating BeforeNavigating 事件并检
  • 在 Flutter Google 地图插件中的 Marker _icon 下放置自定义文本

    我正在尝试向自定义标记添加一些文本 我正在使用谷歌地图颤动 https github com flutter plugins tree master packages google maps flutter var cluster Mark
  • 替换不调用 onAttach、onCreate、onCreateView 等的活动中的片段

    所以我这里有这段代码 我正在创建一个新的片段并将其替换为另一个片段 效果很好 但是我注意到 在第一行 构造函数被调用 但是onAttach onCreate 等等都不是 如果我取消注释第二行 它将无法正常工作updateItem URL 需
  • jinja2 自定义过滤器“TemplateAssertionError:没有名为“format_number”的过滤器”

    我得到了 TemplateAssertionError 没有名为 format number 的过滤器当尝试通过更新环境中的过滤器字典来在模板环境上注册自定义过滤器时 出现错误 在我的模块中 我导入了环境模块 如下所示 from jinja
  • SQL Server FileStream如何填充文件流列

    我遇到了几种将数据插入 SQL Server 对于 FileStream 的不同方法 插入 FileStream 对象的最佳方法是什么 以下方法之间的主要区别是 一种方法直接进行插入 另一种方法放置 FileStream 对象的占位符 一种
  • 如何模拟对 pyspark sql 函数的内部调用

    得到以下 pyspark 代码 import pyspark sql functions as F null or unknown count df sample 0 01 filter F col env isNull F col env
  • C 中的硬编码字节数组

    我正在调试一个网络应用程序 我必须模拟一些交换的数据才能使应用程序正常工作 在 C 中你可以做类似的事情 char myArray 0x00 0x11 0x22 但是 我似乎找不到此语法的 C 等效项 基本上我只想用硬编码值填充数组 你可以
  • 观看指令内的 ng-model

    我有以下指令 directive myInput function return restrict AE scope id label type value templateUrl directives dc input html link
  • Faraday vs HTTParty [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C++ 函数式,带有泛型参数的 std::function

    我尝试编写一个 forEach 方法 我知道该方法已经存在 但我会自己尝试 这是我的代码 include
  • 将位置参数作为 args 和可选参数作为 kwargs 整齐地从 argparse 传递到函数

    我想编写一个Python脚本 它通过以下方式获取一些必要的位置和一些可选的命令行参数argparse 让我们调用位置参数a b c 以及可选参数x y z 在我的 Python 脚本中 我想将这些参数传递给一个函数 具体来说 我想要a b
  • 流畅的 NHibernate 映射

    我是 NHibernate 和 Fluent NHibernate 的新手 假设我有如下情况 Table Activities uniquidentier ID varchar ActivityName Table ActivityPara
  • 为什么 Azure 应用程序网关需要空子网

    当我尝试执行 New AzureRmApplicationGatewayIPConfiguration 来创建应用程序网关时 出现异常 Subnet xxx cannot be used for application gateway yy
  • 单元测试 Modelica 组件库?

    我正在 Modelica 中创建一个组件库 并且希望获得一些有关对包进行单元测试的技术的意见 到目前为止 我有一个测试包 由一组模型组成 每个组件一个模型 每个测试模型都会实例化一个组件 并将其连接到一些非常简单的帮助器类 这些类提供必要的