Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 茉莉花结体未定义_Javascript_Node.js_Jasmine_Jasmine Node - Fatal编程技术网

Javascript 茉莉花结体未定义

Javascript 茉莉花结体未定义,javascript,node.js,jasmine,jasmine-node,Javascript,Node.js,Jasmine,Jasmine Node,我是jasmine的新手,试图运行一个基本的测试,但是我不断地得到一个错误 我的测试如下 var request = require('request'); var base_url = 'http://localhost:8080' var getdata = require('../modules/getdata.js') var index = require('../index.js') describe("GetData Test",function(){ describe("Get

我是jasmine的新手,试图运行一个基本的测试,但是我不断地得到一个错误

我的测试如下

var request = require('request');
var base_url = 'http://localhost:8080'
var getdata = require('../modules/getdata.js')
var index = require('../index.js')
describe("GetData Test",function(){

describe("Get /", function() {
it("returns statusCode 200", function(done) {
  request.get(base_url, function(error, response, body){
    expect(response.statusCode).toBe(200);
    done();
  });
});
it("returns Api is Online", function(done) {
  request.get('base_url', function(error, response, body){
    console.log(request.body)
    expect(body).toBe("Api is online");
    index.closeServer();
    done();
  });
});
});
});
此代码正在测试以下函数

server.get('/', getdata.test)
下面是getdata.test

exports.test = function test(req, res) {
    res.send('Api is online')
};
第一个测试通过,因为响应代码实际上是200。然而,第二个测试错误,因为显然主体是未定义的。有什么帮助吗?错误如下:

jack@JacksLaptop:~/workspace$ npm test

> jack_tidbury_web_api@1.0.0 test /home/jack/workspace
> jasmine-node spec

App running on port 8080
.undefined
F

Failures:

  1) GetData Test Get / returns Api is Online
   Message:
     Expected undefined to be 'Api is online'.
   Stacktrace:
     Error: Expected undefined to be 'Api is online'.
    at Request._callback (/home/jack/workspace/spec/getdata_spec.js:17:22)
    at self.callback (/home/jack/workspace/node_modules/request/request.js:186:22)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.init (/home/jack/workspace/node_modules/request/request.js:274:17)
    at new Request (/home/jack/workspace/node_modules/request/request.js:128:8)
    at request (/home/jack/workspace/node_modules/request/index.js:54:10)
    at Function.get (/home/jack/workspace/node_modules/request/index.js:62:12)

Finished in 0.051 seconds
2 tests, 2 assertions, 1 failure, 0 skipped


npm ERR! Test failed.  See above for more details.

你的意思是响应
body
,而不是
request.body
。此外,您得到的是
'base\u url'
,而不是
base\u url
。试试这个:

it("returns Api is Online", function(done) {
  // Here you were getting 'base_url', which threw an error because that's not a valid url
  request.get(base_url, function(error, response, body){
    console.log(body); // Here you were logging request.body
    expect(body).toBe("Api is online");
    index.closeServer();
    done();
  });
});