
[英]Getting variable result from the Main experiment to the Parameters Variation experiment - AnyLogic
[英]Getting the current Experiment instance at runtime
我正在使用AnyLogic运行JUnit 4。 在我的一项测试中,我需要访问运行测试的“ Experiment
”。 有什么干净的方法可以在运行时访问它吗? 例如,沿着Experiment.getRunningExperiment()
存在静态方法吗?
我不知道一个静态方法(如果有的话,它可能会因允许并行执行的多次运行实验而变得复杂,尽管由于只有一个实验,但也许没有,尽管有线程安全性)问题)。
但是,您可以在模型中使用getEngine().getExperiment()
。 您可能需要解释有关使用情况的更多信息。 如果您正在使用AnyLogic Pro并导出模型以独立运行,则无论如何您都应有权访问实验实例(如帮助中的“从没有UI的外部运行模型”)。
您是否正在尝试在实验中运行JUnit测试? 如果是这样,您的总体设计是什么? 显然,JUnit在这种情况下并不理想,因为它“期望”实例化并运行要测试的事物。 对于我的自动化测试(由于不使用AnyLogic Pro,我无法单独导出它),我认为避免JUnit(毕竟只是一个框架)并“直接”实现测试(通过使用我的模型组件会编写输出,并在实验运行的最后,让实验将输出与预先准备的预期输出进行比较,并标记测试通过还是失败。 使用AnyLogic Pro,您仍然可以导出独立文件,并使用JUnit运行“已经测试”的实验(通过JUnit测试来检查“实验”是否在最后设置了testPassed
布尔值)。
您想要进行运行实验的事实表明您可能正在执行运行,而您可能正在执行此操作。 如果是这样,您能否解释一下您的要求?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.