gpt4 book ai didi

javascript - 在实习生中使用 ArcGIS JSAPI 作为备用加载器时的测试套件路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:14 27 4
gpt4 key购买 nike

我有一个使用 ArcGIS Javascript API 构建的应用程序,我一直在使用实习生添加测试。我在开发时在 Windows 7 的 IIS 下运行它。我很容易得到 intern tutorial开始时和查看后工作 How to specify alternate loader for intern我能够将 client.html 中的加载程序设置为 <script src="http://js.arcgis.com/3.7/"></script>并且我能够运行我的测试,但只有在我更改查询字符串和 intern.js 中的路径以包含 IIS 中定义的父路径之后。

例如,假设我的应用托管在 http://localhost/testApp/mySite我在 mySite 位置定义了 js、css、tests 和 node_modules 文件夹。要运行测试,我必须转到 http://localhost/testApps/mySite/node_modules/intern/client.html?config=mySite/tests/intern前置mySite到配置的位置。同样,在我的配置中,我必须像这样定义我的套件:

suites: [
'mySite/tests/suite1',
'mySite/tests/suite2',
'mySite/tests/suite3'
],

如果我不更改脚本标签以在 client.html 中使用不同的加载程序并在 node_modules 中使用 dojo 版本,那么我不需要额外的路径(但无法找到 esri 库)。

我也找到了 the esri jsapi version of the intern tutorial在该教程中,他不必更改加载器。不同之处在于,由于 dojo 1.8.3 中的错误,他正在使用 intern-geezer,但我使用的是 esri jsapi 3.7,因此有 dojo 1.9.1,而且我也不关心旧的 IE,所以宁愿不使用 geezer,如果我不必。我确实像他一样在 intern.js 中指定了我的包。

我确实复制了我的应用程序并安装了 intern-geezer 而不是 intern,我能够运行测试。除了一个之外的所有路径都通过了(我怀疑这是因为 geezer 不支持来自 chai 的某些东西)而且我根本不需要修改路径。 intern-geezer版本的client.html和intern的不一样。它不使用要求。

有没有一种方法可以让实习生使用 esri jsapi 而不必更改 client.html 中的加载程序?我也希望以自动方式从命令行运行它。

最佳答案

从 Intern 1.3 开始,您可以在 useLoader 配置属性中指定替代加载器,例如来自 Esri 的加载器。对于 Esri 加载器,您可以使用:

// intern.js
define({
/* … other configuration options … */
useLoader: { 'host-browser': 'http://js.arcgis.com/3.7/' }
/* … */
});

请注意,Esri 使用旧的 Dojo 1 加载程序;如果您想指定额外的 dojoConfig 标准,例如 async: true 等,请在您的配置文件中添加 dojoConfig 全局对象:

define([], function () {
this.dojoConfig = { async: 1 };

return {
/* … configuration … */
};
});

关于javascript - 在实习生中使用 ArcGIS JSAPI 作为备用加载器时的测试套件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19524299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com