Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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 使用Jasmine测试节点应用程序的状态:200_Javascript_Node.js_Jasmine_Jasmine Node - Fatal编程技术网

Javascript 使用Jasmine测试节点应用程序的状态:200

Javascript 使用Jasmine测试节点应用程序的状态:200,javascript,node.js,jasmine,jasmine-node,Javascript,Node.js,Jasmine,Jasmine Node,我正在用Node.js和Express为一个应用程序编写Jasmine测试。第一个测试之一是查看应用程序的响应状态代码是否为200。我一直在研究如何做到这一点,但我遇到了一个障碍 jasmine节点不会运行测试。没有任何失败;它只是不提供报告。显然 但是,看看这个,它已经有一年多没有更新了!查看主要的jasmine项目,我发现,jasmine节点是否已经被放弃,转而支持在jasmine中添加对节点的支持?在安装了jasmine并根据规范运行它之后,我现在遇到了一个新问题。当运行jasmine或n

我正在用Node.js和Express为一个应用程序编写Jasmine测试。第一个测试之一是查看应用程序的响应状态代码是否为200。我一直在研究如何做到这一点,但我遇到了一个障碍

jasmine节点
不会运行测试。没有任何失败;它只是不提供报告。显然

但是,看看这个,它已经有一年多没有更新了!查看主要的jasmine项目,我发现,
jasmine节点
是否已经被放弃,转而支持在
jasmine
中添加对节点的支持?在安装了jasmine并根据规范运行它之后,我现在遇到了一个新问题。当运行
jasmine
npm测试时,我得到的不是jasmine测试失败,而是

Started

TypeError: Cannot read property 'statusCode' of undefined
这是我的规范文件:

var request = require("request");
var base_url = "http://localhost:3000/";

describe("Hello World Server", function() {
  describe("GET /", function() {
    it("returns status code 200", function(done) {
      request.get(base_url, function(error, response, body) {
        expect(response.statusCode).toBe(200);
        done();
      });
    });

    it("returns Hello World", function(done) {
      request.get(base_url, function(error, response, body) {
        expect(body).toBe("Hello World");
        done();
      });
    });
  });
});

看起来你没有得到有效的答复。您应该检查回调函数中的
错误

request.get(base_url, function(error, response, body) {

    // Check for error
    if(error){
        console.log(error);
        // Probably assert a failure here.
    }

    expect(response.statusCode).toBe(200);
    done();
});


使用console.log检查错误后,您可能不想删除日志记录并用一些jasmine逻辑替换它以进行错误检查。

看起来您没有得到有效的响应。您应该检查回调函数中的
错误

request.get(base_url, function(error, response, body) {

    // Check for error
    if(error){
        console.log(error);
        // Probably assert a failure here.
    }

    expect(response.statusCode).toBe(200);
    done();
});

使用
console.log
检查错误后,您可能不想删除日志记录并用一些jasmine逻辑替换它以进行错误检查