gpt4 book ai didi

angularjs - 如何在 Angular 1.5 组件中对具有不同名称的绑定(bind)进行单元测试?

转载 作者:行者123 更新时间:2023-12-03 07:02:34 24 4
gpt4 key购买 nike

我有以下组件:

angular.module('foo')
.component('searchInput', {
bindings: {
text: "<query"
},
templateUrl: 'components/searchInput/searchInput.html',
controller: 'SearchInputCtrl'
});

要通过以下内容:

expect(component.text).toBe('bar');

我必须使用以下代码:

    var component = $componentController('searchInput',
{$scope: {}},
{
text: 'bar'
}
);

但是,我想测试绑定(bind)到“文本”的值是否源自“查询”。这不起作用:

    var component = $componentController('searchInput',
{$scope: {}},
{
query: 'bar'
}
);

最佳答案

您可以通过编译组件来测试此类事情。例如

inject(function($compile, $rootScope) {
var parentScope = $rootScope.$new();
parentScope.myVar = 'test';

var element = angular.element('<search-input query="myVar"></search-input>');

var compiledElement = $compile(element)(parentScope);
parentScope.$digest();

var scope = compiledElement.isolateScope();

expect(scope.$ctrl.text).toBe('test');
});

关于angularjs - 如何在 Angular 1.5 组件中对具有不同名称的绑定(bind)进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36431408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com