我正在通过一些在线的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