首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dojo的doh没有和sinon合作

dojo的doh没有和sinon合作
EN

Stack Overflow用户
提问于 2016-08-08 07:17:38
回答 1查看 162关注 0票数 0

我尝试过解决方案,但效果不太好。

下面是上面链接中的示例代码:

代码语言:javascript
复制
require([
    "doh/runner",
    "http://sinonjs.org/releases/sinon-1.17.5.js"
], function(doh){
    console.log(sinon);
});

错误消息:

代码语言:javascript
复制
$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js
Error: ENOENT: no such file or directory, open 'http://sinonjs.org/releases/sinon-1.17.5.js'

此外,我还试图直接要求sinon.js。

sinon-1.17.5.js已被移到与runner.js__相同的目录doh中,并重命名为sinon__。(目录)

代码语言:javascript
复制
require([
    "doh/runner",
    "doh/sinon"
], function(doh, sinon){
    console.log(sinon);
});

没有错误消息,但是sinon没有定义:

代码语言:javascript
复制
$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js
undefined
0 'tests to run in' 0 'groups'
------------------------------------------------------------
| TEST SUMMARY:
------------------------------------------------------------
         0 tests in 0 groups
         0 errors
         0 failures

我很确定第二个代码加载得很好。我通过直接修改sinon.js验证了这一点。但我不知道为什么西农不能打电话。

版本

代码语言:javascript
复制
node.js - v6.2.2
dojo/doh - 1.10.0
sinon - 1.17.5
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 10:15:03

更新

因为node.jsdojo都有需要API,但是它们是不同的。这种情况不起作用,因为它应该使用node.js的API来要求sinon.js而不是dojo。

Dojo提供了dojo/节点模块,它将直接调用node.js模块。

1. npm在dojo的同一目录下安装sinon

代码语言:javascript
复制
$ cd ../../dojo
$ npm install sinon

2.修改代码以使用dojo/node

代码语言:javascript
复制
# test_sinon_spy.js
require([
    "doh/runner",
    "dojo/node!sinon"
], function(doh, sinon){
    console.log(sinon);
})

3.返回原始文件夹并运行测试

代码语言:javascript
复制
$ cd -
$ node ../../dojo/dojo.js load=doh test=tests/test_sinon_spy.js

注意,在dojo目录下,它将包含npm_module/sinon

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38823311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档