我在茉莉花中有这个单位规格:
define(['common/components/directives/directives', 'angular'], function (directives, ng) {
describe('The directives module', function () {
beforeEach(function () {
ng.mock.module('directives');
});
describe('The tabset directive', function () {
var scope;
var elm;
beforeEach(inject(function($rootScope, $compile) {
elm = ng.element('<tabset>' +
'<tab data-route="/home" data-title="Home"></tab>' +
'<tab data-route="/tournaments" data-title="Tournaments"></tab>' +
'<tab data-route="/about" data-title="About"></tab>' +
'</tabset>');
var scope = $rootScope;
$compile(elm)(scope);
scope.$digest();
}));
it ('should create clickable titles', function () {
var titles = elm.find('ul li a');
expect(titles.length).toBe(3);
expect(titles.eq(0).text()).toBe('Home');
expect(titles.eq(0).text()).toBe('Tournaments');
expect(titles.eq(0).text()).toBe('About');
});
//it ('should change active tab when clicked', function () {
//});
});
});
});
在it ('should create clickable titles', ...
我尝试使用的测试中.find()
,但选择出来的是空的:LOG: Object{}
。这是elm
测试中包含的内容:
LOG: Object{0:
<ul class="nav nav-tabs ng-scope" ng-transclude="">
<li data-ng-class="{active: active}" data-route="/home" data-title="Home" class="ng-scope">
<a href="#/home" class="ng-binding">Home</a>
</li>
<li data-ng-class="{active: active}" data-route="/tournaments" data-title="Tournaments" class="ng-scope">
<a href="#/tournaments" class="ng-binding">Tournaments</a>
</li>
<li data-ng-class="{active: active}" data-route="/about" data-title="About" class="ng-scope">
<a href="#/about" class="ng-binding">About</a>
</li>
</ul>, length: 1}