在GWTTestCase中测试JsonUtils

在GWTTestCase中测试JsonUtils,gwt,native-methods,gwttestcase,Gwt,Native Methods,Gwttestcase,我想创建一些测试用例,看看我的JSON解析类是否工作正常。因此,我想用一个JavaScript对象实例化它们,我创建了一个JSON字符串,抛出JsonUtils 我现在的问题是,JsonUtils是一个本机方法,所以在测试期间,现在有了可用的源代码 是否有可能构建包含本机方法的GWTTestCase?好的,在写了这个问题后,我向google提出了一些新想法,并发现了这篇文章: 因此,显然您不能在GWTTestCase构造函数中使用本机方法,但可以在测试函数中使用它们 示例Illegal: JSW

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

我现在的问题是,JsonUtils是一个本机方法,所以在测试期间,现在有了可用的源代码


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

好的,在写了这个问题后,我向google提出了一些新想法,并发现了这篇文章:

因此,显然您不能在GWTTestCase构造函数中使用本机方法,但可以在测试函数中使用它们

示例Illegal:

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);
}
希望这对我有所帮助,因为我花了几个小时才找到它