ZK Application Test Suite (ZATS) return java.lang.NoClassDefFoundError: org/zkoss/zats/ZatsException

ZK Application Test Suite (ZATS) return java.lang.NoClassDefFoundError: org/zkoss/zats/ZatsException

我正在开始我的第一个 zats 测试,它遵循 ZK 中的示例。

但它返回了这个错误:

java.lang.NoClassDefFoundError: org/zkoss/zats/ZatsException

这是我的测试用例


public class LoginControllerTest {

    @BeforeClass
    public static void init() {
        Zats.init("./WebContent");
    }

    @AfterClass
    public static void end() {
        Zats.end();
    }

    @After
    public void after() {
        Zats.cleanup();
    }

    @Test
    public void test() {
        DesktopAgent desktop = Zats.newClient().connect("/index.zul");

        ComponentAgent button = desktop.query("button");
        ComponentAgent label = desktop.query("label");

        button.as(ClickAgent.class).click();
        button.click();
        Assert.assertEquals("Hello Mimic", label.as(Label.class).getValue());
    }
}

我收到了这个:

java.lang.NoClassDefFoundError: org/zkoss/zats/ZatsException

    at testing.LoginControllerTest.init(LoginControllerTest.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: org.zkoss.zats.ZatsException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 16 more

您的类路径中似乎缺少 zats-common。您没有提到您是如何处理库依赖性的,也没有提到您使用的是哪个版本的 zats,因此很难提供更多的帮助。