首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在运行时获取当前实验实例

在运行时获取当前实验实例
EN

Stack Overflow用户
提问于 2014-11-15 03:27:16
回答 1查看 219关注 0票数 0

我在AnyLogic上运行JUnit 4。在我的一个测试中,我需要访问运行该测试的Experiment。有没有什么干净的方法可以在运行时访问它?例如,是否有类似于Experiment.getRunningExperiment()的静态方法

EN

回答 1

Stack Overflow用户

发布于 2014-11-17 18:17:37

据我所知,没有一个静态方法(如果有的话,它可能会因为允许并行执行的多个运行的实验而变得复杂,尽管可能不是因为仍然只有一个实验,尽管会有线程安全问题)。

但是,您可以在模型中使用getEngine().getExperiment()。您可能需要更多地解释您的使用上下文。如果使用AnyLogic专业版并将模型导出为独立运行,则无论如何都应该可以访问实验实例(如帮助“在没有UI的情况下从外部运行模型”中所述)。

您是否正在尝试从实验中运行JUnit测试?如果是这样,你的总体设计是什么?显然,JUnit在这种情况下并不适合,因为它“期望”实例化并运行要测试的东西。对于我的自动化测试(我不能单独导出它,因为我不使用AnyLogic专业版),我判断避免JUnit (毕竟它只是一个框架)并“直接”实现测试更容易(通过让我的模型组件编写输出,并在实验运行结束时,让实验将输出与预先准备的预期输出进行比较,并标记测试是否通过或失败)。使用AnyLogic专业版,你仍然可以导出独立的,并使用JUnit来运行“已经测试”的实验( JUnit测试检查实验的testPassed布尔值设置在末尾或其他地方)。

你想要开始运行实验的事实表明,当运行可能正在执行时,你可能会这样做。如果是这样,你能解释一下你的需求吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26937432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档