如何在基于浏览器的编辑器(如 Ace Editor)中运行用户在运行时编写的 JEST 单元测试,以测试用户编写的 JavaScript 代码?

Aja*_*jar 5 javascript unit-testing ace-editor reactjs jestjs

我在大学教 Javascript。我想编写需要对学生编写的代码运行单元测试的课程考试。

\n\n

我需要创建考试,对我的学生编写的代码运行笑话单元测试。
\n很像edabitcodewars,您在预定义测试中遇到挑战...\n在某些时候,学生需要编写自己的笑话单元测试并针对自己的代码运行它,就像在codesandbox中所做的那样。

\n\n

我现在使用ace 编辑器来允许学生在浏览器中编写代码。我需要您在以下方面提供帮助:

\n\n
    \n
  1. 需要什么样的 Jest 变体/配置来编写预定义的单元测试,以便在浏览器中测试学生的代码?\xc2\xa0

  2. \n
  3. 运行在基于浏览器的编辑器中编写的代码的最佳方法是什么?我认为简单的eval()是有问题的并且不安全......我需要在浏览器中运行它,所以 node.js 不是一个选项。

  4. \n
  5. 你们如何支持 ES6 模块的导入/导出?您是否真的需要编写自己的模块捆绑器才能在浏览器中执行?这是唯一的方法吗?是否有任何模块捆绑器支持基于浏览器的捆绑?

  6. \n
\n