为什么我收到此错误:Selector [ng\:model="query"] did not match any elements
选择[NG :模型=“查询”]没有匹配的元素
我已经通过这个阅读:AngularJS: End to End Testing Issue,但这种联系并不真正适用于.NET ENV:
IDE:的Visual Studio 2012
项目类型:ASP.NET MVC4
档案结构:
通过因缘运行CI测试开始node.j e2e.conf.js S指令提示
我的人缘的conf:
basePath = '../../../';
files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
'angular/app/*.js',
'angular/Tests/e2e/*.js'
];
reporters = ['progress'];
port = 10876;
runnerPort = 10100;
colors = true;
logLevel = LOG_ERROR;
autoWatch = true;
browsers = ['Firefox'];
captureTimeout = 60000;
singleRun = false;
proxies = {
'/': 'http://localhost:60607/'
};
我的端到端测试:
describe('E2E: AMS', function() {
describe('Settings Users', function() {
beforeEach(function() {
browser().navigateTo('/#/settings/users');
});
it('filters the users list as the user types into the search box', function() {
expect(repeater('.users li').count()).toBe(2);
input('query').enter('abc');
expect(repeater('.users li').count()).toBe(1);
input('query').enter('efg');
expect(repeater('.users li').count()).toBe(1);
input('query').enter('ijk');
expect(repeater('.users li').count()).toBe(0);
});
});
});
笔者认为:
<div data-ng-view="">
Add User: <br />
<input type="text" /> <button>Submit</button><br />
Search:
<input data-ng-model="query" type="text" />
Users <br />
<ul class="users">
<li data-ng-repeat="user in users | filter:query">
{{user.name}}
</li>
</ul>
</div>
和笑容,我的路线
angular.module('AMS', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/login', { templateUrl: '/AccessControl/Login/', controller: settingsController }).
when('/dashboard', { templateUrl: '/Dashboard/Dashboard', controller: dashboardController }).
when('/settings', { templateUrl: '/Settings/Settings', controller: settingsController }).
when('/settings/users', { templateUrl: '/Settings/Users', controller: settingsController }).
otherwise({ redirectTo: '/dashboard' });
}]);
谢谢,我会尝试删除视图上的“数据”部分,因为我不认为我有任何控制角度处理选择器左侧的方式。 – 2013-05-14 02:57:31
用ng-model替换data-ng-model不会改变测试结果。看起来像别的东西正在导致测试失败。我应该提到,这个观点确实按预期工作,它只是失败的测试。 – 2013-05-14 14:53:05
对不起,红鲱鱼。这听起来像你从命令行进行测试。 e2e测试可能更容易从runner文件中调试,如角度种子中的那个:https://github.com/angular/angular-seed/blob/master/test/e2e/runner.html(您可以插入一个暂停()命令在你的测试中,然后检查以确保你处于你期望的状态)。 – 2013-05-15 08:28:46