0
我選擇創建在接受這個問題的答案基於選項2的藥液指令控制器: Unit-testing directive controllers in Angular without making controller global。如何加載在一個封閉定義到測試規範
我的代碼看起來是這樣的:
(function() {
function myCtrl($scope) {
//All my controller code.
};
myAppModule.directive('myDirective', function($compile, $timeout) {
return {
restrict: 'E',
replace: true,
controller: myCtrl,
compile: function(tElement, tAttrs, transclude) {
return {
post: function(scope, element, attrs) {
//more code and stuff.
}
}
}
});
})();
我簡單的問題;因爲控制器未在模塊的範圍界定,如何加載它在我的測試文件?
沒錯,所以我的解決方案不能加載到測試套件中,因爲它已經包裝在封閉體中,因此即使在加載時也不可見?在這種情況下,我會選擇選項1. – Stevo
沒錯。在我自己的代碼中,我經常只用一個符號來污染全局名稱空間,並將所有內容都放入該名稱空間中 - 這只是使用angularjs模塊系統的一種變體。 –