我有一个使用 ArcGIS Javascript API 构建的应用程序,并且我一直在使用实习生添加测试。我在开发时在 Windows 7 的 IIS 下运行它。我没有遇到任何困难实习生辅导班 https://github.com/theintern/intern-tutorial开始时和查看后工作如何为实习生指定备用加载程序 https://stackoverflow.com/questions/17788908/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 库)。
我也从此发现esri jsapi 版本的实习生教程 https://github.com/DavidSpriggs/intern-tutorial-esri-jsapi在该教程中,他不必更改加载程序。
不同之处在于,由于 dojo 1.8.3 中的错误,他正在使用 intern-geezer,但我使用的是 esri jsapi 3.7,因此有 dojo 1.9.1,而且我也不关心旧的 IE,所以宁愿不使用 geezer,如果我不需要。我确实像他一样在 intern.js 中指定了我的包。
我确实复制了我的应用程序并安装了 intern-geezer 而不是 intern,并且我能够运行测试。除了一个之外,所有都通过了(我怀疑这是因为 geezer 不支持 chai 中的某些内容),而且我根本不需要修改路径。 client.html 的 intern-geezer 版本与 intern 中的不同。它不使用要求。
有没有办法让实习生使用 esri jsapi 而无需更改 client.html 中的加载程序?我也希望以自动方式从命令行运行此操作。