我有这样的测试
public class TesteSairApp extends GermantechTest {
@Test
public void testApp() throws Exception {
SWTBotMenu file = bot.menu("Arquivo");
bot.sleep(1000);
SWTBotMenu clickSair = file.menu("Sair");
bot.sleep(1000);
SWTBotMenu menuClicado = clickSair.click();
System.out.println(menuClicado);
bot.sleep(1000);
pass();
}
刚退出应用程序。
应用程序退出后,我遇到了这个例外:
java.lang.NoClassDefFoundError: org/hamcrest/Matchers
at org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot.editors(SWTWorkbenchBot.java:222)
at ...
如果我从bot.resetWorkbench();
@After
中删除GermantehcTest
,则测试通过...
这有什么不对?
答案 0 :(得分:0)
在我看来,这是一个依赖问题。您是否在测试清单中包含org.hamcrest
了吗?
如果是这样,请查看org.hamcrest
捆绑包。作为一个猜测,那里的'org.hamcrest.Matchers'类失踪了。
根据您选择的hamcrest的分布,此类可能会丢失(故意)。 Afaik hamcrest-core-xy.jar
中缺少它。
您可以尝试将Hamcrest additional library of matchers添加到目标和清单中。
如果这个工作,我建议用this作为基础烘烤你自己的hamcrest-all捆绑(我没有找到一个hamcrest-all作为捆绑下载)。