有没有办法导入未导出的Javascript值

问题描述 投票:0回答:1

我使用 Salesforce 内置的系统,其中包括 Aura 帮助程序文件。如文档中所述,每个文件由括号中的单个对象文字组成,其中函数作为属性,例如

({
    someHelperMethod: function(a, b) {
        return a + b;
    }
})

我想为其中一些函数添加单元测试,如果可能的话,无需先编辑帮助程序文件,以便在这种情况下轻松采用 JS 单元测试,并最大限度地减少回归到未经测试的代码的风险。据我所知,Salesforce 没有任何用于单元测试 JS 的内置系统,因此我会在部署之前在 Salesforce 外部运行这些测试。

有什么方法可以让我运行的测试代码例如我的节点CLI可以参考和练习

someHelperMethod
,还是因为没有导出所以不可能?如果不可能,是否有人想推测 Salesforce 如何访问该对象?我是否需要制作一个脚本来将对象包装在“export default [fileContent];”之类的内容中并将其写入新的 JS 文件?

javascript salesforce aura-framework
1个回答
1
投票

解决此问题的一种方法是将文件内容作为字符串读取,然后将其写入单独的文件中,并按以下方式在写入文件时添加导出; const fs = require('fs');

// Read the original helper aura file file content
const originalContent = fs.readFileSync('path/to/your/originalHelper.js', 'utf8');

// Wrap the content and prepare it for export
const wrappedContent = `module.exports = ${originalContent}`;

// Write the wrapped content to a new file
fs.writeFileSync('path/to/your/exportedHelper.js', wrappedContent);

之后您可以为此文件编写测试。

© www.soinside.com 2019 - 2024. All rights reserved.