2013-06-12 2 views
1

Я пробовал laika тест рамки для метеор. Второй пример из homepage использует observe(), и я думаю, что он не соблюдает корректно.meteorjs: laika клиентское и серверное тестовое расписание

suite('Posts', function() { 
    test('using both client and server', function(done, server, client) { 
    server.eval(function() { 
     Posts.find().observe({ 
     added: addedNewPost 
     }); 
     function addedNewPost(post) { 
     emit('post', post); 
     } 
    }).once('post', function(post) { 
     assert.equal(post.title, 'hello title'); 
     done(); 
    }); 
    client.eval(function() { 
     Posts.insert({title: 'hello title'}); 
    }); 
    }); 
}); 

Я всегда получаю таймаут. Увеличение периода ожидания не помогает. Я не могу понять, что я делаю неправильно, и я не могу понять, как получить более подробный вывод. Перенести тесты с помощью вызовов console.log() ничего не дает.

выход:

1) Posts using both client and the server: 
Error: timeout of 2000ms exceeded 
    at null.<anonymous> (/usr/local/share/npm/lib/node_modules/laika/node_modules/mocha/lib/runnable.js:165:14) 
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) 

ответ

2

я имел подобную проблему с лайки, с узлом 0.10.10. Я переключился на узел 0.10.4, и таймауты исчезли.

Я не знаю, является ли ваш случай точно таким же, как у меня, но стоит попробовать.

+0

Спасибо за это. Он также работает в узле 0.10.12. –

+1

Да, у laika есть некоторые проблемы с версией узла с 0.10.8 по 0.10.10 - это что-то с модулем node-phantom, используемым laika –

+0

У меня такая же проблема с 'node v0.10.24'. Более подробную информацию можно найти в [laika issue # 48] (https://github.com/arunoda/laika/issues/48). – mfaerevaag

0

Возможно, монгод является вашим узким местом.

Старт MongoDB таким образом:

mongod --smallfiles --noprealloc --nojournal

я смог запустить тесты Лайка под тайм-аут на 5000 мс по умолчанию. Однако, если вы используете это на медленный компьютер, вы можете просто изменить таймаут по умолчанию лайка:

лайка -t 10000

По моему опыту, это не имеет ничего общего с версией узлов. Однако есть некоторые проблемы в Mac OS X версии, которые устанавливают CPU примерно на 30% до 60% + в режиме ожидания.

Смежные вопросы