我正在尝试教授初学者javascript。这是我正在尝试做的事情:
我会给他们一小段代码,例如带有错误内容的函数:
const square = function(x) {
return x + x; // Wrong! This will double the number, not square them.
};
他们会将代码提交给我。 我想编写一些可以在其代码上运行的测试用例,并评估它们是否正确。
将它们的代码作为js文件提交是否有意义,然后我有一个node.js项目,该项目读取其文件并将值传递给其功能并测试响应?
还是使用像mocha和chai等单元测试框架更有意义?
答案 0 :(得分:1)
这两个选项都可以使用,即直接使用Node或在其计算机上具有测试套件的测试框架。
如果您真的想获取他们所有的提交并自行评估,则可以简单地要求他们导出具有预定义名称的函数,在本例中,它可能是export function square { ...
,然后将所有这些文件添加到文件夹,使用fs
/ fs.readdir
之类的fs.readdirSync
模块列出所有文件,并在每个文件上动态调用require
并执行平方功能。
请注意,这种方法意味着您将在计算机上运行不受信任的代码,例如,可能会删除系统上的文件(或者实际上可以通过执行程序的权限执行其他所有操作)。但是您建议这是一门初学者,看来您认识每个人,因此这种方法可能是可以接受的,并且您不必为每个人发送测试用例并教他们如何运行它们(尽管擅长这样做)。
答案 1 :(得分:0)
对于普通JS,您可以直接从其文件夹中打开文件。 但是,我建议使用Aprelium的Abyss Web服务器。