Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TypeError:在中找不到函数blah_Java_Javascript_Unit Testing - Fatal编程技术网

Java TypeError:在中找不到函数blah

Java TypeError:在中找不到函数blah,java,javascript,unit-testing,Java,Javascript,Unit Testing,我正在使用javax.script中的JavaScript支持对JS脚本进行一些基本的单元测试,我遇到了一个问题 我有一些代码eval(…)s我在ScriptEngine实例中拥有的必备库文件,包括其中包含我的函数blah的代码 然后,我在ScriptEngine的同一个实例中评估另一个文件,在该实例中,我有一些用作测试的函数,然后调用测试 然而,尽管所有的eval都可以正常工作,但我得到了一个错误,这对我来说意味着加载函数有问题 javax.script.ScriptException:sun

我正在使用javax.script中的JavaScript支持对JS脚本进行一些基本的单元测试,我遇到了一个问题

我有一些代码
eval(…)
s我在ScriptEngine实例中拥有的必备库文件,包括其中包含我的函数blah的代码

然后,我在ScriptEngine的同一个实例中评估另一个文件,在该实例中,我有一些用作测试的函数,然后调用测试

然而,尽管所有的eval都可以正常工作,但我得到了一个错误,这对我来说意味着加载函数有问题


javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:TypeError:找不到函数blah。(#x)在第x行

对同一个
脚本引擎
进行两个独立的
eval
调用对我很有用。您是否正在设置新的
脚本上下文
,或以其他方式删除对
废话的定义

public class TryScripting {
    public static void main(String[] args) throws ScriptException {
    ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
    String makeFun = "function  hello() {\n" +
            "return \"hello world\";\n" +
            "}\n" +
            "{\n" +
            "}";
    engine.eval(makeFun);

    engine.eval("myVar = hello()");
    ret = engine.get("myVar");
    System.out.println(ret);
    }
}