Requests/Pagesのテスト
テストの目的各ページをテストする要求は、開始から終了まで正常に 実行される.各ページにロードされたデータをテスト を正常に表示します.
ページ/リクエストをテストする目的と、ルーティング/controllerをテストする目的は同じです.しかし、このセクションのテストの重点は、ルーティングが正しく動作しているかどうか、controllerが正常に実行されているかどうか、テンプレートがダウンロードされているかどうか、viewが正しくレンダリングされているかどうか、準備ができているかどうかを簡単にチェックすることです.バックグラウンドには多くのリクエストとダウンロードがトリガーされるはずです.そのため、controllerがあなたのページ(例えばbodyラベルにhtmlタグを付けたり...)をマークすると、ページが利用できることがわかります.その後、サイトのすべてのページとルーティングにアクセスできます.
テストは主にMidwayテストとE 2 Eテストを使用します.
Midwayテスト
E 2 Eテスト:
ページ/リクエストをテストする目的と、ルーティング/controllerをテストする目的は同じです.しかし、このセクションのテストの重点は、ルーティングが正しく動作しているかどうか、controllerが正常に実行されているかどうか、テンプレートがダウンロードされているかどうか、viewが正しくレンダリングされているかどうか、準備ができているかどうかを簡単にチェックすることです.バックグラウンドには多くのリクエストとダウンロードがトリガーされるはずです.そのため、controllerがあなたのページ(例えばbodyラベルにhtmlタグを付けたり...)をマークすると、ページが利用できることがわかります.その後、サイトのすべてのページとルーティングにアクセスできます.
テストは主にMidwayテストとE 2 Eテストを使用します.
Midwayテスト
<!-- lang: js -->
//
// test/midway/requestsSpec.js
//
describe("Midway: Testing Requests", function() {
var tester;
beforeEach(function() {
if(tester) {
tester.destroy();
}
tester = ngMidwayTester('App');
});
it("should goto the videos_path by default", function(done) {
tester.visit('/', function() {
expect(tester.viewElement().html()).to.contain('app-youtube-listings');
done();
});
});
it("should have a working video_path request", function(done) {
var url = ROUTER.routePath('video_path', { id : 10 });
tester.visit(url, function() {
var $params = tester.inject('$routeParams');
expect(parseInt($params.id)).to.equal(10);
expect(tester.viewElement().html()).to.contain('app-youtube-profile');
done();
});
});
it("should have a working other_path request", function(done) {
var url = ROUTER.routePath('other_path');
tester.visit(url, function() {
expect(tester.viewElement().html()).to.contain('other page');
done();
});
});
});
E 2 Eテスト:
<!-- lang: js -->
//
// test/e2e/requestsSpec.js
//
describe("E2E: Testing Requests", function() {
beforeEach(function() {
browser().navigateTo('/');
});
it('should have a working /videos page', function() {
browser().navigateTo('#/');
expect(browser().location().path()).toBe("/videos");
expect(element('#ng-view').html()).toContain('data-app-youtube-listings');
});
it('should have a working /other page', function() {
browser().navigateTo('#/other');
expect(browser().location().path()).toBe("/other");
//try removing the controller and this will fail
expect(element('#ng-view').html()).toContain('success');
});
});