gpt4 book ai didi

javascript - 在 Intern 3.x 中测试 Dojo 1.x 应用程序

转载 作者:行者123 更新时间:2023-12-03 08:45:55 24 4
gpt4 key购买 nike

我正在尝试为使用 Dojo 1.10.4 的代码编写一些单元测试,但到目前为止我还没有取得任何成功。我已经尝试了很多东西,但我目前正在尝试使用 Intern 3.0.5。这是我目前在 intern.js 中得到的内容:

define({
capabilities: { 'browserstack.selenium_version': '2.45.0' },
environments: [ { browserName: 'firefox', version: '40', platform: ['WINDOWS'] } ],
maxConcurrency: 2,
tunnel: 'NullTunnel',
//loaders: { 'host-browser': 'dojo/dojo.js' },
loaderOptions: {
packages: [
{ name: 'app', location: 'src' },
{ name: 'dojo', location: 'dojo' },
{ name: 'dijit', location: 'dijit' }
],

map: {
'*': {
'dojo': 'dojo',
},
'intern': {
'dojo': 'node_modules/intern/node_modules/dojo'
}
}
},
suites: ['tests/unit/ButtonTests'],
excludeInstrumentation: true,
useSauceConnect: false,
proxyPort: 9000,
proxyUrl: 'http://localhost:9000/'
});

dojoConfig = {
has: { 'dojo-undef-api': true }
};

我的希望是让 Intern 使用它附带的 Dojo 2 加载器,然后将我的代码指向 Dojo 1.10.4,所以我在 loaderOptions 中设置了一个映射来处理这个问题。不幸的是,我的代码似乎没有获取正确的副本,并且收到此错误:

× firefox 40 on WINDOWS - unit tests - Button tests - icon uses correct class (0.001s)
TypeError: target is null
at on <dojo\on.js:69:6>
at clazz<._initializeEventHandlers <src\Button.js:35:1>
at clazz<.constructor <src\Button.js:29:9>
at singleConstructor/< <dojo\_base\declare.js:440:5>
@http://localhost:9000/tests/unit/ButtonTests.js:19:20
at Test.prototype.run/< <__intern\lib\Test.js:211:19>
at Promise/this.then/</< <node_modules\intern\node_modules\dojo\Promise.ts:393:15>
at runCallbacks <node_modules\intern\node_modules\dojo\Promise.ts:11:2>
at settle/< <node_modules\intern\node_modules\dojo\Promise.ts:317:4>
at run <node_modules\intern\node_modules\dojo\Promise.ts:237:7>
at CallbackQueue</CallbackQueue.prototype.drain <node_modules\intern\node_modules\dojo\CallbackQueue.ts:39:4>
at nextTick</observer< <node_modules\intern\node_modules\dojo\nextTick.ts:63:4>

我还尝试让 Intern 使用 Dojo 1.10 附带的加载器,而不是它附带的加载器,这在我上面粘贴的配置中已被注释掉。当我这样做时,我收到此错误:

Suite firefox 40 on WINDOWS - unit tests FAILED
Error: xhrFailed
at makeError <dojo\dojo.js:106:15>
at req.getText <dojo\dojo.js:331:1>
at injectModule <dojo\dojo.js:1539:8>
at forEach <dojo\dojo.js:93:6>
at injectDependencies/< <dojo\dojo.js:758:5>
at guardCheckComplete <dojo\dojo.js:1277:5>
at injectDependencies <dojo\dojo.js:757:4>
at runDefQ/< <dojo\dojo.js:1621:6>
at forEach <dojo\dojo.js:93:6>
at runDefQ <dojo\dojo.js:1620:5>
at injectModule/xhrCallback <dojo\dojo.js:1488:9>
at req.getText <dojo\dojo.js:328:7>
at injectModule <dojo\dojo.js:1539:8>
at forEach <dojo\dojo.js:93:6>
at injectDependencies/< <dojo\dojo.js:758:5>
at guardCheckComplete <dojo\dojo.js:1277:5>
at injectDependencies <dojo\dojo.js:757:4>
at contextRequire <dojo\dojo.js:821:6>
at req <dojo\dojo.js:124:11>
at PreExecutor.prototype._loadExecutorWithLoader/< <__intern\lib\executors\PreExecutor.js:287:5>
at Promise <__intern\node_modules\dojo\Promise.js:172:17>
at PreExecutor.prototype._loadExecutorWithLoader <__intern\lib\executors\PreExecutor.js:286:1>
at loadExecutorWithLoader <__intern\lib\executors\PreExecutor.js:365:12>
at Promise/this.then/</< <__intern\node_modules\dojo\Promise.js:156:41>
at runCallbacks <__intern\node_modules\dojo\Promise.js:19:13>
at settle/< <__intern\node_modules\dojo\Promise.js:103:21>
at run <__intern\node_modules\dojo\Promise.js:51:33>
at CallbackQueue</CallbackQueue.prototype.drain <__intern\node_modules\dojo\CallbackQueue.js:39:21>
at nextTick</observer< <__intern\node_modules\dojo\nextTick.js:52:21>

我昨天也遇到了这个错误,但我不记得我到底是怎么做到的!我试图使用 PhantomJS,所以这可能已经完成了:

Error: Repeated sequence for session 08ee5fa0-67a6-11e5-9d1c-49f2f4677a77: 0 last 0 cur
at Proxy._publishInSequence <node_modules\intern\lib\Proxy.js:181:11>
at IncomingMessage.<anonymous> <node_modules\intern\lib\Proxy.js:63:39>
at IncomingMessage.emit <events.js:104:17>
at <_stream_readable.js:908:16>
at process._tickCallback <node.js:355:11>

顺便说一句,我是否应该能够像上面那样在 intern.js 的末尾设置 dojoConfig ?我想启用 dojo-undef-api。

任何帮助将不胜感激!

最佳答案

Dojo Boilerplate包括 Dojo 应用程序的实习生配置,可以对其进行调整以在您的项目中使用。

关于javascript - 在 Intern 3.x 中测试 Dojo 1.x 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889759/

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