首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实验室返回错误无方法“实验”

实验室返回错误无方法“实验”
EN

Stack Overflow用户
提问于 2014-08-22 16:11:01
回答 2查看 879关注 0票数 1

我正在为一个函数编写测试代码,该函数将检查twitter中是否存在用户名。我正在使用Hapi框架和实验室进行测试。

当我运行npm test时,会得到以下错误:

代码语言:javascript
复制
> NameGen@0.0.0 test /Users/mario/projects/NameGen
> ./node_modules/lab/bin/lab -c


/Users/mario/projects/NameGen/test/test.js:5
Lab.experiment( "Test Username Existence", function() {
    ^
TypeError: Object #<Object> has no method 'experiment'
    at Object.<anonymous> (/Users/mario/projects/NameGen/test/test.js:5:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js [as origLoader] (module.js:474:10)
    at Object.require.extensions..js (/Users/mario/projects/NameGen/node_modules/lab/lib/coverage.js:32:26)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at /Users/mario/projects/NameGen/node_modules/lab/lib/cli.js:85:23
    at Array.forEach (native)
    at Object.internals.traverse (/Users/mario/projects/NameGen/node_modules/lab/lib/cli.js:81:19)
    at Object.exports.run (/Users/mario/projects/NameGen/node_modules/lab/lib/cli.js:30:29)
    at Object.<anonymous> (/Users/mario/projects/NameGen/node_modules/lab/bin/lab:3:23)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

我的测试代码是:

代码语言:javascript
复制
var Lab = require("lab");
var server = require('../'); // require index.js
var request = require('request');

Lab.experiment( "Test Username Existence", function() {
  // tests

  Lab.test( "Test username exists", function(done){
    var options = {
      url: 'http://twitter.com/BarackObama'
    };

    request(options, function(error, response, body){
      Lab.expect(response.statusCode).to.equal(200);
    });
      done();
    });

    Lab.test("Test username does not exists", function(done){
      var options = {
        url: 'http://twitter.com/jhkhksdhkjahsdfkjhasdf'
      };

      request(options, function(error, response, body){
        Lab.expect(response.statusCode).to.equal(404);
      });
        done();
      });

  });

我已经安装了最新版本的节点以及我的package.json文件中所有必要的依赖项。是什么导致了这个错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 17:07:52

根据实验室文档:Test files must require the lab module, and export a test script

test.js

代码语言:javascript
复制
var Lab = require('lab');
var lab = module.exports = Lab.script();

lab.experiment( "Test Username Existence", function() {
  lab.test( "Test username exists", function(done){

   });
});
票数 1
EN

Stack Overflow用户

发布于 2014-09-24 06:26:51

正如@Jordonias所说的那样。然而,当我用他的例子时,它仍然不起作用。我不得不把第二行改为:

代码语言:javascript
复制
lab = exports.lab = Lab.script()
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25451309

复制
相关文章

相似问题

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