我正在通過一些在線的AngularJS實例來了解它是如何工作的。我試圖用茉莉花來測試,就像在例子中一樣。在我的spec文件,我有:
var Person = function (name, $log) {
this.eat = function (food) {
$log.info(name + " is eating delicious " + food);
};
this.beHungry = function (reason) {
$log.warn(name + " hungry " + reason);
};
};
var bob = new Person();
describe("describe", function() {
it("$q", function() {
var pizzaOrderFulfillment = $q.defer();
var pizzaDelivered = pizzaOrderFulfillment.promise;
pizzaDelivered.then(bob.eat, bob.beHungry);
pizzaOrderFulfillment.resolve("resolved");
$rootScope.$digest();
expect($log.TypeInfo.logs).toContain(["resolved"]);
});
});
我我正確使用茉莉花得到
ReferenceError: $q is not defined
?我基本上只是在spec.js文件中編寫我所有的angular和jasmine代碼。當我在另一個文件中使用角碼時,我的spec.js文件找不到它。可能是因爲我沒有設置任何依賴關係,因爲我剛剛開始使用這些東西。
編輯,將$固定爲$ q和referencerror。
你不想'$ q.defer()',而不是'$ .defer()'? – Jonathan
@Jonathan啊是的,但我仍然有錯誤,$ q沒有定義。 – Crystal