Jasmine-node Body未定义

我是新来的茉莉花,并试图进行基本testing,但我不断收到错误。

我的testing如下

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(); }); }); }); }); 

此代码正在testing以下function

 server.get('/', getdata.test) 

和getdata.test如下

 exports.test = function test(req, res) { res.send('Api is online') }; 

第一个testing通过,因为responseCode确实是200.然而,第二个testing错误显然身体是未定义的。 任何帮助? 错误如下:

 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. 

你的意思是响应而不是request.body 。 此外,您正在获取'base_url'而不是base_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(); }); });