Modulesのテスト

1779 ワード

テストの目的:
  • Moduleが正常かどうかをテストする
  • 依存性が正常に参照されているかどうかをテストする
  • モジュールはdirective,controller,template,service,resourceを作成するための最上位のコンテナです.したがって、モジュールをテストするときは、モジュールをテストするときは、モジュールが存在するかどうかを確認するだけです.もちろんこれはユニットテストやMidwayテストでチェックできますが、コードが実行できるので、モジュールがAngularJSにアクセスできるかどうかを見るだけで、Midwayテストに書くことをお勧めします.
    Midwayテスト:
    <!-- lang: js -->
    //
    // test/midway/appSpec.js
    //
    describe("Midway: Testing Modules", function() {
      describe("App Module:", function() {
    
        var module;
        before(function() {
          module = angular.module("App");
        });
    
        it("should be registered", function() {
          expect(module).not.to.equal(null);
        });
    
        describe("Dependencies:", function() {
    
          var deps;
          var hasModule = function(m) {
            return deps.indexOf(m) >= 0;
          };
          before(function() {
            deps = module.value('appName').requires;
          });
    
          //you can also test the module's dependencies
          it("should have App.Controllers as a dependency", function() {
            expect(hasModule('App.Controllers')).to.equal(true);
          });
    
          it("should have App.Directives as a dependency", function() {
            expect(hasModule('App.Directives')).to.equal(true);
          });
    
          it("should have App.Filters as a dependency", function() {
            expect(hasModule('App.Filters')).to.equal(true);
          });
    
          it("should have App.Routes as a dependency", function() {
            expect(hasModule('App.Routes')).to.equal(true);
          });
    
          it("should have App.Services as a dependency", function() {
            expect(hasModule('App.Services')).to.equal(true);
          });
        });
      });
    });