1
저는 AngularJS 1.2.10을 ng 테이블과 함께 사용하고 있습니다. jasmine & karma를 사용하여 테스트를 마친 첫 번째 엔드를 작성하고 있습니다.AngularJS e2e 테스트 테이블 필터
문제는 필터 입력 상자 (ng-table에서 제공)를 입력하면 내 테스트의 목록이 자동으로 업데이트되지 않습니다. 즉, 테스트에서 필터를 실행하지 않습니다. 브라우저를 통해 수동으로 테스트 할 때 작동합니다.
<table ng-table="tableParams" show-filter="true" class="table">
<button ng-click="tableParams.sorting({code: 'asc'})" class="btn btn-default pull-right">Clear sorting</button>
<button ng-click="tableParams.filter({})" class="btn btn-default pull-right">Clear filter</button>
<tr class='listing' ng-repeat="debtor in $data">
<td data-title="'Code'" sortable="'code'" filter="{ 'code': 'text'}">
{{debtor.code}}
</td>
<td data-title="'Name'" sortable="'name'" filter="{ 'name': 'text'}">
{{debtor.name}}
</td>
<td>
<a href="/api#/clients/{{debtor.id}}">Show</a>
<a href="/api#/clients/{{debtor.id}}/edit">Edit</a>
<a href="" ng-confirm-click="destroy(debtor.id)">Delete</a>
</td>
</tr>
</table>
그것을 수동으로 결과가 표시되기 전에 약간의 일시 정지가 테스트, 내가 공격 할 필요가 없습니다 : 여기
여기it "should allow filtering on name", ->
browser().navigateTo('#/debtors')
expect(browser().location().path()).toBe("/debtors")
element(".ng-table-filters > th:nth-child(2) input").val('John')
sleep(10)
expect(repeater('.table > tbody tr').count()).toBeGreaterThan(0)
expect(repeater('.table > tbody tr').row(0)).toContain("John Smith")
내 필터 코드 내 테스트입니다 모든 제출 버튼. ngTable 이벤트가 발생하지 않는 것 같지만 테스트에서이 작업을 수행 할 때.