我想创建一些测试用例来查看我的 JSON 解析类是否工作正常。因此,我想用一个 JavaScript 对象来实例化它们,该对象是我从 JSON 字符串中创建的,并抛出 JsonUtils。
我现在的问题是,JsonUtils 是一种本机方法,因此在测试期间现在有可用的源代码。
是否有可能构建包含本机方法的 GwtTestCases?
我想创建一些测试用例来查看我的 JSON 解析类是否工作正常。因此,我想用一个 JavaScript 对象来实例化它们,该对象是我从 JSON 字符串中创建的,并抛出 JsonUtils。
我现在的问题是,JsonUtils 是一种本机方法,因此在测试期间现在有可用的源代码。
是否有可能构建包含本机方法的 GwtTestCases?
好的,在写完问题后,我向谷歌提出了一些新想法,并找到了这篇文章: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);
}
希望这对某人有所帮助,因为我浪费了几个小时才找到它....