2013-08-27 5 views
0

Я хотел бы проверить настройку маршрута в своем приложении. Я использую Qunit и помощники для проверки ember.Ember RC7: Тестирование маршрутов

У меня есть тест, как следующее:

test("visit can handle wrong urls", function() { 
    var urlToVisit = "/foo/bogus"; 
    visit(urlToVisit).then(function() { 
     // this will show me /foo/bogus even though the route does not exist 
     console.log(app.__container__.lookup('router:main').location.path); 
    }); 
});  

Проблема заключается в том, что я не могу отличить несостоявшийся и успешный визит. Любые идеи?

ответ

0

Я не эксперт QUnit, но я предполагаю, что один подход можно сделать, это проверить на currentPath вместо URL, вы можете получить его из ApplicationController, что-то вроде этого:

Этот тест должен пройти

test("visit 'index' and assert it exists", function() { 
    var urlToVisit = "/"; 
    visit(urlToVisit).then(function() { 
    equal(App.__container__.lookup('controller:application').get('currentPath'), 'index', 'At route index'); 
    }); 
}); 

Но это должно терпеть неудачу

test("visit wrong URL and fail", function() { 
    var urlToVisit = "/posts"; 
    visit(urlToVisit).then(function() { 
    equal(App.__container__.lookup('controller:application').get('currentPath'), 'posts', 'Fail at non existent route posts'); 
    }); 
}); 

Простой demo here.

Надеюсь, это поможет.

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