resorender的mocha测试用例不起作用

时间:2017-07-25 18:09:38

标签: node.js testing mocha sinon chai

我正在为一条路线编写一个简单的测试用例。我使用了mochachai-httpsinon来检查是否呈现了正确的页面。这适用于用户提供其信息的contact页面。和联系页面现在再次呈现。以下是我的测试用例:

const chai = require('chai');
const chaiHttp = require('chai-http');
const sinon = require('sinon');
const ejs = require('ejs');


var app = require('../app');
var path = require('path');
var fs = require('fs');
var Contact = require('../models/contacts');
chai.use(chaiHttp);
var should = chai.should();
var expect = chai.expect;

describe('Contact', () => {

    describe('/POST Contact', () => {
        it('it should not POST a book without pages field', (done) => {
            var spy = sinon.spy(ejs, '__express');
            let contact = {
                name: "my name",
                msg: "my msg"
            }
            chai.request(app)
                .post('/contact')
                .send(contact)
                .end((err, res) => {
                    console.log(res)
                    //    / console.log(__dirname);


                    // console.log(__filname)
                    // var dir =  __filename + './views/contact.ejs';
                    var dir = path.dirname(fs.realpathSync('./'));;
                    console.log(dir)

                    expect(spy.calledWithMatch(dir + '\views\contact.ejs')).to.be.true;
                    //expect(spy.calledWith(dir)).to.be.true;
                    spy.restore();

                    // Tell Mocha that our test case is done.
                    done();
                    // res.should.have.status(200);
                    //res.should.have.status()
                    // res.should.have.status(200);
                    // res.body.should.be.a('object');
                    //res.body.should.have.property('errors');
                    // res.body.errors.should.have.property('pages');
                    // res.body.errors.pages.should.have.property('kind').eql('required');
                    done();
                });
        });

    });

});

问题是我在error responseres说:

     Failed to lookup view "contact" in views directory "C:\\Users\\My User\\Documents\\GitHub\\My Project\\test\\views

所以基本上它会在view目录中搜索test。有什么办法我可以要求查看正在测试的正确目录吗?

0 个答案:

没有答案