0

我有这样的测试

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();@Afterin 中删除GermantehcTest,测试通过......
这里有什么问题?

4

1 回答 1

0

在我看来,这就像一个依赖问题。您是否包含org.hamcrest在测试清单中?如果是这样,请查看org.hamcrest捆绑包。作为猜测,类 'org.hamcrest.Matchers' 在那里丢失了。根据您选择的 hamcrest 的分布,这个类可能会丢失(故意)。Afaik 它在hamcrest-core-xy.jar. 您可以尝试将Hamcrest 附加匹配器库添加到您的目标和清单中。如果这可行,我建议您烘焙自己的 hamcrest-all 捆绑包,以此为基础(我没有找到 hamcrest-all 作为捆绑包作为下载包)。

于 2012-09-20T06:51:40.947 回答