【发布时间】:2020-05-25 04:54:10
【问题描述】:
我对 SWTBot 工具测试比较陌生。我正在运行 JUnit 测试用例,其中 TestCase 应该在选择项目时运行,并且应该在测试用例开始执行之前加载项目中的文件,但 Testcase 开始执行而不等待加载处理。
项目中文件的加载由 Eclipse(插件:-org.eclipse.sphinx.emf.workspace.loading)使用 ProgressBar 提供。
通过网上冲浪,我发现bot.waitUntil() 用于停止 TestCase,如果在继续进行之前必须完成任何操作。我尝试了多种选择,但无法得到我期望的结果。
谁能帮我解决这个问题
【问题讨论】:
-
我不知道插件,但如果你使用this LoadJobScheduler,那么
Job.getJobManager().join(IExtendedPlatformConstants.FAMILY_MODEL_LOADING, new NullProgressMonitor())应该可以工作。LoadJobScheduler在后台启动属于FAMILY_MODEL_LOADING家族的ModelLoadJob实例(如果适合您的需要,我将作为答案展开)。 -
感谢Emmanuel的回复。你说得对,它使用的是eclipse提供的LoadJobScheduler (org.eclipse.sphinx.emf.workspace.loading)。在SWTBot中,有一个叫做bot的方法.waitUntil() 除了 ProgressMonitor Shell 我不知道如何得到它。你能详细说明你的答案可能有助于我寻求答案。
-
我已经提交了更详细的答案。如果它满足您的需求,请考虑接受它或解释为什么它不能满足您的需求,以便改进。
标签: junit eclipse-rcp swtbot