给予你一点上下文,我应该开发代码的机器人使用网页作为主要的开发基础,这意味着,行动代码必须写在网页上,所以我猜有问题的代码是加载在服务器端,然后运行eval时appropiate.这是确定的几行代码,但在一个大项目,你可以想象的那种噩梦它可以.
所以我的目标是建立一个测试环境,并将代码放在git repo下。然后,一旦我的测试通过,我就可以上传代码。
现在,我手头的特殊问题是:现在我希望能够从nodejs模块加载JavaScript文件,加载函数并能够从测试套件运行该函数:
sarasa.js代码:
function sarasa2(){
console.log( " aca toy!");
return true;
}
字符串
测试代码:
import { Test } from "../../myjsunit/testSuite.js";
import fs from 'fs';
class so_Test extends Test {
test_load_and_run(){
let fname = "testsjs/micro/sarasa.js";
let code = fs.readFileSync( fname ).toString() ;
eval( "("+code+")" );
let actual = sarasa2();
this.assertTrue( actual );
this.done();
}
}
export { so_Test }
型
(请不要担心测试框架)
我得到的错误是:
引用错误:sarasa2未定义
问:是否可以运行在加载文件中定义的函数?
1条答案
按热度按时间vxqlmq5t1#
@Zer0提供的提示是正确的。你可以有一个nodejs项目混合模块和commonjs,前提是在propper目录中有一个package.json:我必须设置一个专门用于commonjs代码的目录,然后从单元测试中要求()。
“生产”代码:
字符串
或
型
测试代码:
型