2014-01-11 9 views
1

<rating> 구성 요소 (lib/rating/rating.dart/html)에 대한 단위 테스트 (test/src/rating/rating.html/dart)를 작성하고 싶습니다.각 구성 요소 테스트

void main() { 
    useHtmlEnhancedConfiguration(); 

    ng.Scope _rootScope; 
    dom.Element _element; 
    ngMock.TestBed _tb; 

    setUp(() { 
    try { 
    ngMock.setUpInjector(); 

     ngMock.module((ng.Module module) { 
     module.install(new RatingModule()); 
     }); 

     ngMock.inject((ng.Scope scope, ngMock.TestBed testBed) { 
     _rootScope = scope; 
     _rootScope['rate'] = 3; 
     _tb = testBed; 
     _element = _tb.compile('<rating value="rate"></rating>', scope: _rootScope); 
     _rootScope.$digest(); 

     }); 
     print('setUp done'); 
    } catch(e) { 
     print(e); 
    } 
    }); 

_element = _tb.compile('<rating value="rate>...

[예기치 않은 요청에 실패 라인 : GET 패키지/bootstrap_angular/평가/

내가 템플릿에 구성 요소의 templateUrl을 변경 rating.html 및 템플릿 HTML을 할당 문자열로서 예외를 없앴습니다.

내가 잘못했거나 아직 지원되지 않습니까?

답변

2

나는 issue in the Angular.dart GitHub repository을 만들었습니다. 응답을 통해 나는이 것을 알아 냈지만 다소 효과적이었습니다 :

void main() { 
    useHtmlEnhancedConfiguration(); 

    ng.Scope _rootScope; 
    dom.Element _element; 
    ngMock.TestBed _tb; 
    ngMock.MockHttpBackend _backend; // new 

    setUp(() { 
    Future f; 
    try { 
    ngMock.setUpInjector(); 

     ngMock.module((ng.Module module) { 
     module.install(new RatingModule()); 
     }); 

     ngMock.inject((ng.Scope scope, ngMock.TestBed testBed) { 
     _rootScope = scope; 
     _rootScope['rate'] = 3; 
     _tb = testBed; 

     f = dom.HttpRequest.getString('/bootstrap_angular/packages/bootstrap_angular/rating/rating.html') // new 
     .then((ratingTemplate) { // new 
      _backend = new ngMock.MockHttpBackend(); // new 
      print(ratingTemplate); // just debug output 
      _backend.expect('GET').respond(ratingTemplate); // new 

      _element = _tb.compile('<rating value="rate"></rating>', scope: _rootScope); 
      var element =_element.shadowRoot.querySelector('i'); 
      _rootScope.$digest(); 
     }); 
     }); 
    } catch(e) { 
     print(e); 
    } 
    return f; // new 
    // return a future to make the tests wait until setUp is done 
    // found in this question 
    // How to wait for an asynchronous setup in a unit test, in Dart? 
    // http://stackoverflow.com/questions/14994518 
    }); 
관련 문제