【问题标题】:Library with identifier QUnit is missing - G Suite for Education Account缺少标识符 QUnit 的库 - G Suite 教育版帐号
【发布时间】:2020-10-06 23:12:40
【问题描述】:

我一直在尝试使用 QUnit 来测试我的代码,但一直收到此错误:“缺少标识符为 QUnit 的库(可能它已被删除,或者您没有读取权限?)。”

我确定我使用正确的密钥正确安装了它。

我的 Google 帐户是我公司设置的 G Suite 教育版帐户,我有两个不同的教育帐户。这两个帐户彼此位于不同的组织单位中。其中一个可以毫无问题地运行 QUnit,但我需要它在引发错误的帐户上工作。

我也采取了以下步骤将 QUnit 添加到我的项目中:

  1. 进入图书馆并输入代码“MxL38OxqIK-B73jyDTvCe-OBao7QLBR4j”

  2. 选定的版本 4。

  3. 作为网络应用发布,然后选择“测试网络应用以获取最新代码”以查看结果。

  4. 然后我会在新标签页上看到错误消息。

当我也在我的个人 Google 帐户上尝试这些相同的步骤时,似乎没有任何问题。

下面是我的 QUnit 代码,如果您能看到我哪里出了问题,或者您知道是否有任何 G Suite 设置需要更改,那将会很有帮助。

function doGet( e ) {
  QUnit.urlParams( e.parameter );
  
  QUnit.config({
    title: "Unit tests for my project" 
  });
  QUnit.load( tests );
  return QUnit.getHtml();
};


function tests() {
  addEqual();
  addNotEqual();
  multiplyEqual();
  multiplyNotEqual();
}


function addEqual() {
  test("Add number to number", function() {
    equal(addNumbers(), 5, 'It worked!');
  });
}

function addNotEqual() {
  test("Add number to number", function() {
    equal(addNumbers(), 8, 'It worked!');
  });
}

function multiplyEqual() {
  test("Multiply Number with a Number", function() {
    equal(multiply(), 6, 'It Worked!');
  });
}

function multiplyNotEqual() {
  test("Multiply Number with a Number", function() {
    notEqual(multiply(), 9, 'It Worked!');
  });
}

【问题讨论】:

  • 您的清单文件是什么样的?
  • 添加库的步骤是什么?您是否发布了您的网络应用程序?您使用的是 /exec 还是 /dev 链接?
  • @Diego 我的清单文件看起来与我在个人 Google 帐户上的项目完全相似。
  • @Rubén 所以我进入资源,输入代码“MxL38OxqIK-B73jyDTvCe-OBao7QLBR4j”。然后我选择了版本 4 并保存了它。这就是我使用的程序。是的,我发布了 WebApp,然后选择最新的代码来检查我收到错误消息的测试。我希望这是有道理的。
  • @StephenMcBride 您是否更改了库默认标题?

标签: google-apps-script tdd libraries qunit


【解决方案1】:

总结:

到目前为止,解决问题的最简单方法是根本不使用库功能,而是直接从库的源中复制粘贴文件。请注意,所有.gs.html 文件都应作为单独的文件包含在您的项目中。其他解决方法包括删除调用脚本项目和在新项目中重新添加每个库的各种版本。在库开发者方面,它包括保存库的新版本。

可能的原因:

可能的解决方案:

当前打开的问题跟踪器:

Closed Trackers(用于研究):

相关:

【讨论】:

  • 这听起来像是一个有用的解决方案!抱歉,我是 Google Scripts 的新手。我如何找到获取这些文件的库源?
  • @StephenMcBride 通常在github。复制粘贴所有文件。
  • 您好,对于我迟到的消息,我感到非常抱歉,我仍然不确定如何执行此操作。我找到了 Qunit 的 github:github.com/qunitjs/qunit。但我不确定要复制哪些文件。有没有机会你可以带我完成这个?
  • @StephenMcBride 这是主要的 JavaScript 模块。你不能用那个。您的库版本基本上来自here。有人还创建了qunit2。您基本上需要其中任何一个中的所有 .gs 和 .html 文件。
【解决方案2】:

我按照问题中提供的步骤,使用我的 G Suite for Business 帐户和默认运行时 (Chrome V8),但又遇到了另一个错误

ReferenceError:未定义测试(第 21 行,文件“代码”)

test(...)替换为QUnit.test(...)后。网页正确显示。

我认为您的 G Suite 帐户管理员不会阻止您的帐户以访问从您的组织外部接收文件,因为您可以看到库标题和版本。应该有一些你错过的东西包含在问题中。尝试按照问题中包含的步骤从头开始创建一个新项目。

资源

【讨论】:

  • 感谢您的回答,我按照您所说的进行了操作,但仍然遇到同样的问题。为了纠正我自己,我正在使用 G Suite 教育帐户,如果这有影响的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 2017-09-26
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多