首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用茉莉花节点进行测试:理解错误

用茉莉花节点进行测试:理解错误
EN

Stack Overflow用户
提问于 2015-06-18 15:12:52
回答 1查看 339关注 0票数 0

我试图通过在exercism.io上做一些练习来学习javascript (它提供了我们需要通过的预先编写的测试)。它进行了一段时间,但通过最近的练习,我似乎无法弄清楚测试是如何工作的。

该练习的目的是编写一个程序,计算给定字符串在另一个字符串中出现的次数。测试文件的外观如下:

代码语言:javascript
复制
var words = require('./word-count');

describe("words()", function() {
  it("counts one word", function() {
    var expectedCounts = { word: 1 };
    expect(words("word")).toEqual(expectedCounts);
  });

  // more skipped tests  

});

我做的第一件事是创建word-count.js文件,但我不知道该文件中的代码需要如何格式化/设置才能被规范文件读取。在浏览了本教程之后,我设置了如下word-count.js

代码语言:javascript
复制
exports = function(str){}

然而,这个(以及我尝试过的其他一切)给了我错误

代码语言:javascript
复制
  1) words() counts one word
   Message:
     TypeError: object is not a function
   Stacktrace:
     TypeError: object is not a function
    at null.<anonymous> (/home/sheeka/exercism/javascript/word-count/word-count_test.spec.js:6:12)

我不明白这个错误,也不明白它在寻找什么。我也不明白测试是如何工作的,因为在我看来,它不像是spec文件正在调用word-count.js中的任何函数或变量

任何帮助理解这一点,或指出我可以使用的资源方向,以解决这一点,将不胜感激。我确实尝试过运行谷歌搜索,但我发现的一切看起来都太先进了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-18 15:16:09

分配exports = function(str){}不会使您的函数公开。请试试module.exports = function(str){}。或者,您可以将函数赋值为导出支柱exports.fc = function() {...};

默认情况下,exports是指向module.exports的空对象。当您重写exports时,module.exports保持不变。

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

https://stackoverflow.com/questions/30919284

复制
相关文章

相似问题

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