#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 /…