1

私はnode.jsでインターンを使用しており、ajaxテスト用にインターンをセットアップしようとしています。以下のサーバー コードは直接 GET リクエストを処理しますが、Intern による XHR リクエストは到達していないようです。この問題は、Node.js の proxyUrl セットアップに関係していると思われます。

server/main.js: ノード/エクスプレス

...

app.get('/data', function(request, response, next){
if(request.xhr)
{
    var data = dfs.readFileSync("src/server/data.json");
    response.render(data, {
        root: root,
        error: new Error('Cant read file')
});
}
else
    next();
});

...

app.listen(8001);

http_proxy.createServer(function(req,res, proxy){
    proxy.proxyRequest(req,res, {host:'localhost', port:8001});
}).listen(9000);

intern.hello.js: (単体テスト コード)

...

'async test': function () {
    var dfd = this.async(1000);

    request('/data').then(dfd.callback(function (data) {
        assert.strictEqual(data, 'hello world');
    }, dfd.reject.bind(dfd)));
}

インターン構成:

...
proxyPort:9000,
proxyUrl: 'http://localhost:8001/',
...

内部エラー:

Warning: FAIL: async test (1015ms)
Error: Timeout reached on main - wait - async test
    at Error (<anonymous>)
    at new ErrorCtor (.../node_modules/intern/node_modules/dojo/errors/create.js:13:21)
    at null._onTimeout (.../node_modules/intern/lib/Test.js:164:21)
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
2/3 tests passed
2/3 tests passed Use --force to continue.
4

0 に答える 0