Как модульно протестировать представление Durandal

#unit-testing #view #durandal #durandal-2.0

#модульное тестирование #Вид #durandal #durandal-2.0

Вопрос:

Я хотел бы протестировать привязку представления durandal к его viewmodel; чтобы убедиться, что имена свойств в представлении и viewmodel синхронизированы.

В идеале использовать механизм композиции durandal, чтобы включить любые подключаемые модули, которые включены (в основном наблюдаемые).

Есть ли какие-либо доступные примеры? (Я ничего не могу найти) Есть ли более надежный способ, чем просто получить представление и вызвать ko.applyBindings?

Обновить:

Это то, что я сейчас делаю, ошибки привязки выбрасываются из-за несоответствий, затем я могу использовать привязанный вид для проверки ожидаемых элементов.

 beforeEach(function(done) {

    var me = this;


    require(['durandal/viewLocator', 'knockout', 'durandal/binder', 'viewmodels/category', "underscore"], function(viewLocator, ko, binder, vm, _){
        me._ = _;


        binder.throwOnErrors = true;
        viewLocator.locateView('views/category').then(function(view){

                me.view = view;
                me.viewModel = vm;
                me.viewModel.categories = [
                            {id:1, name:"Test 1",enabled:true},
                            {id:2, name:"Test 2",enabled:false}
                ];

                ko.cleanNode(me.view);
                //This will throw if any name mismatches the viewmodel
                binder.bind(vm, view);
                done();

        });

    });

});
  

Комментарии:

1. Не очень понятно, чего вы пытаетесь достичь. Вы хотите модульно протестировать сами функции фреймворка? Затем посмотрите на репозиторий Github и тесты, такие как Binder. Спецификация или это что-то другое? Не могли бы вы предоставить макет того, что вы хотели бы сделать?

2. посмотрите на тестирование с помощью PhantomJS и Jasmine durandaljs.com/documentation /…