开玩笑的测试:正确导入另一个JS库的QML JS库失败,仅在测试中出现语法错误

问题描述

我正在将util JS库导入到QML文件的主JS库中,如下所示。

mainLib.js

.pragma library

.import "utils/helper.js" as Helper

function someExample (someParam) {
    // Do something with someParam
    var result = someParamAfterProcessing // Just an example,the details don't matter
    return Helper.isValid(result)
}

运行时它可以正常工作。但是,它在jest测试期间失败,出现语法错误

SyntaxError: Unexpected token .

导入的语法由Qt定义: https://doc.qt.io/qt-5/qtqml-javascript-imports.html#importing-a-javascript-resource-from-another-javascript-resource

如果我从mainLib.js中删除.import "utils/helper.js" as Helper部分,则Jest测试将开始运行,并最终如预期的那样以Helper is not defined失败,因为导入已被注释掉。

如果我对导入使用备用*.mjs语法:

import * as Helper from "utils/helper.mjs";

我收到类似的语法错误

SyntaxError: Unexpected token *

如何让Jest理解QML导入语法?

  • 节点版本10.16.3
  • 最佳版本24.9.0
  • Qt版本5.5.1(由于供应商的限制,必须使用此特定的旧版本)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)