0

我想创建一些测试用例来查看我的 JSON 解析类是否工作正常。因此,我想用一个 JavaScript 对象来实例化它们,该对象是我从 JSON 字符串中创建的,并抛出 JsonUtils。

我现在的问题是,JsonUtils 是一种本机方法,因此在测试期间现在有可用的源代码。

是否有可能构建包含本机方法的 GwtTestCases?

4

1 回答 1

0

好的,在写完问题后,我向谷歌提出了一些新想法,并找到了这篇文章:GWTTestCase 中的 UnsatisfiedLinkError。选项

所以显然你不能在 GWTTestCase 构造器中使用本机方法,但你可以在测试函数中使用它们。

非法示例:

JSWidgetBasic jswb;
public JSWidgetBasicTest() {
    String s_jswb = "{\"zzzz\":\"type\"}";
    jswb = JsonUtils.safeEval(s_jswb).cast();
}

public void testWidgetType() {
    assert (jswb.getZZZZ().compareTo("type") == 0);
}

但这是允许的

public JSWidgetBasicTest() {
}

public void testWidgetType() {
    String s_jswb = "{\"zzzz\":\"type\"}";
    JSWidgetBasic jswb = JsonUtils.safeEval(s_jswb).cast();

    assert (jswb.getZZZZ().compareTo("type") == 0);
}

希望这对某人有所帮助,因为我浪费了几个小时才找到它....

于 2011-08-24T09:58:09.253 回答