小编Mih*_*goe的帖子

确保在此测试中调用done()回调(Mocha,Chai,Sinon)

看着其他问题,无法真正找到问题的原因.我正在尝试导入模块并使用mocha进行测试.

import chai, {
    expect
}
from 'chai';
import sinon from 'sinon';
import sinonChai from 'sinon-chai';
import System from 'systemjs';
import '../public/config.js';

chai.use(sinonChai);

describe('helperModule', () => {
    let module;

    before(function () {
        return System.import('./public/js/helper.js')
            .then((mod) => module = mod);
    });

    describe('Module loading', function () {
        it('should load', function(){
            expect(module.default).to.not.be.undefined;
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

运行npm test命令时出现以下错误.

1) helperModule "before all" hook:
     Error: timeout of 2000ms exceeded. Ensure the done() callback is being
 called in this test.
Run Code Online (Sandbox Code Playgroud)

不确定在哪里完成回调.如果您需要有关我正在使用的任何软件包的任何额外信息,我将使用它们编辑我的问题.

javascript mocha.js

4
推荐指数
1
解决办法
9189
查看次数

使用 EJS 和 Express 刷新页面部分

我有一个复选框,当按下该复选框时,将调用执行 GET 请求的函数。根据选择,我想在同一页面上显示额外的复选框。目前这是我到目前为止的代码:

客户端

function selectedHouse(house)
{
   if(house.checked){
      $.get('/', {data: house.value});
   }
}
Run Code Online (Sandbox Code Playgroud)

服务器端

var routing = function (nav, houses) {
    router.route('/')
        .get(function (req, res) {
            var rooms = [];
            rooms = getRooms(req.query.data);
            console.log(rooms);

            res.render('index', {
                title: 'Independent cleaner',
                nav: nav,
                houses: houses,
                roomsForHouse: rooms
            });
        });
    return router;
};
Run Code Online (Sandbox Code Playgroud)

页面第一次加载时,会加载正确的标题、导航和房屋。当该函数在客户端执行时,我取回房屋的相关房间,并尝试填充我在视图上显示的 roomsForHouse 变量。

问题是视图不渲染 roomsForHouse 变量。因此,一旦页面加载,就会调用 GET 请求,并在函数执行时再次调用。这能实现吗?

ejs node.js express

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

ejs ×1

express ×1

javascript ×1

mocha.js ×1

node.js ×1