gpt4 book ai didi

angularjs - 单选按钮的 Angular E2E 测试绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 23:37:21 25 4
gpt4 key购买 nike

我有一个带有一些单选选项的 Angular 页面,该部分如下所示(删节):

div.row-fluid(ng-controller="SearchCtrl")
...
form(name="pForm")
...
div.span4
input(ng-model='form.worktype', type='radio', value='fulltime', name='worktype')
|     Full Time    
input(ng-model='form.worktype', type='radio', value='parttime', name='worktype')
|     Part Time
p hello {{form.worktype}}

表单有效,“p hello {{form.worktype}}”有效,但我似乎无法在 e2e 测试中找到选择:

it('should select the ', function() {
element('a[href$="addWork"]').click();
input('form.worktype').select('parttime');
expect(binding('form.worktype')).toBe('parttime');
});

返回:

Binding selector 'form.worktype' did not match

另一种方法也失败了:

it('should select the ', function() {
element('a[href$="addWork"]').click();
input('form.worktype').select('parttime');
expect(input('form.worktype').val()).toBe('parttime');
});

给我“全职”,即使测试中的暂停()清楚地显示选择了兼职。

关于如何使这个看似简单的事情通过有什么想法吗?

最佳答案

我在 Angular 中进行 e2e 测试时遇到了同样的问题。有些作品有点挑剔。我无法让 binding() 与我的表单元素绑定(bind)一起使用。我首先尝试了与您相同的操作,但是单选按钮上 val 的输入选择获取分配给它找到的第一个单选按钮的值,而不是实际选择的值。

我最终的工作归结为获取具有该名称的输入元素并进行检查,然后查看它的值。这应该适合你。

expect(element('input[name="worktype"]:checked').val()).toBe('parttime');

凭借绑定(bind)的所有功能和模型的使用,您可能会认为会有更好的解决方案,但我没有找到。相反,我发现自己必须执行非常具体的选择器来获取单个元素,并从那里开始工作。不太理想,但很实用。

话虽如此,the Angular page on e2e testing建议阅读 Protractor,因为他们将来会使用它,所以希望当它准备好时,我们将能够进行更好的端到端测试。

关于angularjs - 单选按钮的 Angular E2E 测试绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091153/

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