ディレクティブを単体テストしたい。コードは次のとおりです。
.directive('getData', function() {
return {
restrict: 'C',
replace: true,
transclude: true,
scope: { myData:'@myData' },
template: '<div ng-switch="myData">' +
'<div ng-switch-when="4">Real Data</div>' +
'<div ng-switch-when="5">False Data</div>' +
'<div ng-switch-default>No Data</div>' +
'</div>'
}
単体テストの試みは次のとおりです。
describe('Testing', function() {
var $compile, $rootScope;
beforeEach(module('myApp'));
beforeEach(inject(function(_$compile_, _$rootScope_) {
$compile = _$compile_;
$rootScope = _$rootScope_;
}));
it('get some data', function() {
var c = $compile("<get-data></get-data>")($rootScope);
$rootScope.$digest();
expect(c.html()).toContain(''); //don't know how to do this part
});
});
ng-switch のテスト方法がわかりません。私はここで多くのことを見逃しているように感じます。どんな助けでも大歓迎です。plnkr は次のとおりです: http://plnkr.co/edit/kgygmzXT3eUMw1iNWnwP?p=preview