如何在没有网络浏览器的情况下测试小段JavaScript代码?

时间:2019-10-04 05:40:13

标签: javascript node.js

我正在尝试教授初学者javascript。这是我正在尝试做的事情:

我会给他们一小段代码,例如带有错误内容的函数:

const square = function(x) {
   return x + x; // Wrong! This will double the number, not square them.
}; 

他们会将代码提交给我。 我想编写一些可以在其代码上运行的测试用例,并评估它们是否正确。

将它们的代码作为js文件提交是否有意义,然后我有一个node.js项目,该项目读取其文件并将值传递给其功能并测试响应?

还是使用像mocha和chai等单元测试框架更有意义?

2 个答案:

答案 0 :(得分:1)

这两个选项都可以使用,即直接使用Node或在其计算机上具有测试套件的测试框架。

如果您真的想获取他们所有的提交并自行评估,则可以简单地要求他们导出具有预定义名称的函数,在本例中,它可能是export function square { ...,然后将所有这些文件添加到文件夹,使用fs / fs.readdir之类的fs.readdirSync模块列出所有文件,并在每个文件上动态调用require并执行平方功能。

请注意,这种方法意味着您将在计算机上运行不受信任的代码,例如,可能会删除系统上的文件(或者实际上可以通过执行程序的权限执行其他所有操作)。但是您建议这是一门初学者,看来您认识每个人,因此这种方法可能是可以接受的,并且您不必为每个人发送测试用例并教他们如何运行它们(尽管擅长这样做)。

答案 1 :(得分:0)

对于普通JS,您可以直接从其文件夹中打开文件。 但是,我建议使用Aprelium的Abyss Web服务器。