如果皮卡会coding 2022-10-29 13:58 采纳率: 75%
浏览 16
已结题

Javascript的代码执行与测试

问题

已知有一段动态获取到的JS程序的文本字符串str,有什么工具或框架可以在JS程序中检测执行str后的输出。比如DOM的改变、控制态的输出等。

可以理解为类似Jest的jsDom单元测试。但是这种测试只能在控制台上输入jest指令才可以进行测试。而不能在项目中import jest。

我用了一个最简单的代码实现我想要的功能,但是这种方法十分笨重且无法扩展。

<div id="id"></div>
<script>
    function checkCode(jsCode) {
        // 执行这段代码
        eval(jsCode);
        // 检查预期结果 
        if (document.getElementById('id').innerHTML.indexOf('abc') != -1) {
            return true;
        } else {
            return false;
        }
    }
    // 动态获取到JS代码
    let jsCode = "document.getElementById('id').innerHTML = 'abc';"
    // 检查代码是否是符合预期
    console.log(checkCode(jsCode));
</script>
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-29 16:59
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月5日
  • 创建了问题 10月29日

悬赏问题

  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式