繁体   English   中英

使用Mocha测试Node.js中路由提供的页面

[英]testing a page served by a route in Node.js with Mocha

我对测试非常陌生,想知道我是否在正确的轨道上。

基本上,我想检查我的服务器是否将在特定路由上提供特定的index.ejs文件。 这是我的两个it块。

it('should respond with status 200',function(done){

    request.get(url+'/polls',function(error,response,body){
        expect(response.statusCode).to.equal(200);
        done();
    });

});


it('should render the polls.ejs file',function(done){

    request.get(url + '/polls',function(error,response,body){
        expect(body).to.equal('index.ejs')
        done();
    });

});

第一个测试通过了,第二个测试显然没有,因为它期望的是字符串"index.ejs" ,而不是解析后的HTML文件。

必须有比将我的整个HTML内容编写为字符串以通过测试更好的方法。 请告诉我一个更好的方法。 而且我在这里进行测试的方向正确吗?

实际上,我认为您不应该测试这种事情。

由于您依赖其他人来提供网页,因此测试它是他的工作。 您只需要在那里测试自己的逻辑即可。

例如,如果您有一条路由/add?a=12&b=15 ,而该路由是要输出27那么您应该执行加法的那部分代码。 不是管理客户请求的部分。

我可能是错的(在这种情况下,我将更新此答案以这样说),但这就是我为自己的网站进行单元测试的方式,并且工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM