テストTemplates,Partials&Views
テストの目的テストテンプレートが設定され、サービス側からダウンロードされた テストテンプレートが正しいcontroller に割り当てられています.テストテンプレートは、正しいviewまたはincludeに割り当てられています.
テンプレートは、AngularJSアプリケーションに注入できる独立したHtmlコードで、Viewの各部分を構成します.テンプレートがngViewでレンダリングされるか、ngInculdeでレンダリングされるかにかかわらず、テンプレートHtmlコードはページに簡単に簡単に注入できるはずです.
Viewとインポートアクションは$templateCacheサービスが提供するキャッシュメカニズムによって機能します.したがって、テンプレートコードをMockしたい場合は、テンプレートキャッシュに対応するtemplateUrlキャッシュKeyにHtmlを追加するだけです.
Midwayテスト:
E 2 Eテスト:
テンプレートは、AngularJSアプリケーションに注入できる独立したHtmlコードで、Viewの各部分を構成します.テンプレートがngViewでレンダリングされるか、ngInculdeでレンダリングされるかにかかわらず、テンプレートHtmlコードはページに簡単に簡単に注入できるはずです.
Viewとインポートアクションは$templateCacheサービスが提供するキャッシュメカニズムによって機能します.したがって、テンプレートコードをMockしたい場合は、テンプレートキャッシュに対応するtemplateUrlキャッシュKeyにHtmlを追加するだけです.
Midwayテスト:
<!-- lang: js -->
//
// test/midway/templates/templatesSpec.js
//
describe("Midway: Testing Templates", function() {
it("should load the template for the videos page properly",
function(done) {
var tester = ngMidwayTester('App');
tester.visit('/videos?123', function() {
var current = tester.inject('$route').current;
var controller = current.controller;
var template = current.templateUrl;
expect(template).to.match(/templates\/views\/videos\/index_tpl\.html/);
tester.destroy();
done();
});
});
});
E 2 Eテスト:
<!-- lang: js -->
//
// test/e2e/templates/templatesSpec.js
//
describe("E2E: Testing Templates", function() {
beforeEach(function() {
browser().navigateTo('/');
});
it('should redirect and setup the videos page template on root', function() {
browser().navigateTo('#/');
expect(element('#ng-view').html()).toContain('youtube_listing');
});
it('should load the watched videos template into view', function() {
browser().navigateTo('#/watched-videos');
expect(element('#ng-view').html()).toContain('youtube_listing');
});
it('should load the watched video template into view', function() {
browser().navigateTo('#/videos/123');
expect(element('#ng-view').html()).toContain('profile');
});
it('should redirect back to the index page if anything fails', function() {
browser().navigateTo('#/something/else');
expect(element('#ng-view').html()).toContain('youtube_listing');
});
});