-1
Bir yönerge için bir birim testi yazmaya ve aşağıdaki hatayı almaya çalışıyorum.Açısal yönerge için birim testi
bulamıyor değişkeni: $ derlemek
HTML
<html ng-app="plunker">
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<link rel="stylesheet" href="style.css">
<script>
document.write("<base href=\"" + document.location + "\" />");
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body>
Align number to right
<br/>
<mi-format-number-in-grid numbervalue="11.7866" scale="1">11.097866</mi-format-number-in-grid>
<br/>
<mi-format-number-in-grid numbervalue="11.097866"></mi-format-number-in-grid>
<br/>
<mi-format-number-in-grid numbervalue="11.097866"></mi-format-number-in-grid>
<br/>
<mi-format-number-in-grid numbervalue="11.097866"></mi-format-number-in-grid>
<br/>
</body>
</html>
JS
var app = angular.module('plunker', []);
app.directive('miFormatNumberInGrid', function($compile) {
return {
restrict: 'E',
scope: false,
link: function(scope, element, attributes) {
var digit = 0;
var cssClass = "";
var pctValue = parseFloat(attributes.numbervalue);
var scale = parseInt(attributes.scale);
if (attributes.percentchar === "true")
cssClass = "class='mi-percentsuffix'";
if (!isNaN(scale))
digit = scale;
if (isNaN(pctValue))
pctValue = 0;
var containerDOM = angular.element("<span style='" + "float:right;' " + cssClass + ">{{" + pctValue + "|number:" + digit + "}}</span>");
var compiled = $compile(containerDOM)(scope);
angular.element(element).replaceWith(compiled);
}
};
});
describe('directive: mi-format-number-in-grid', function() {
// initialize
var $compiler,
$rootScope;
beforeEach(angular.mock.module('cgApp'));
beforeEach(inject(function ($compile, $rootScope) {
$compile = $compile;
$rootScope = $rootScope;
}));
it("should have 2 digits after decimal", function() {
var element = $compile('<mi-format-number-in-grid numbervalue="11.97342" scale="2"></mi-format-number-in-grid>')($rootScope);
$rootScope.$digest();
expect(element.html()).toContain("11.97");
});
});
Saçma sapan hatama dikkat ettiğiniz için teşekkür ederiz. Artık referans almama rağmen testim hala başarısız. – user360
it ("Sayı doğru hizalanmalı", function() { var öğe = ' mi-format-number-in-grid> '; element = ngCompile (öğe) (kapsam); kapsamı. $ digest(); var span = element.find (' span '); var floatRight = element.attr ('style'); bekliyor (span) .toBeDefined(); bekliyor (floatRight) .toBe ("float: sağ"); }); Hata ayıklama modunda span gördüğümde boş. –
user360
Aynı şekilde plunkr oluşturursunuz. –