我正在学习AngularJS,并尝试通过网上的一些示例了解其工作原理。我想要像示例中那样使用Jasmine进行测试。在我的规范文件中,我有:
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未定义
请问我是否正确使用Jasmine?我基本上只是在spec.js文件中编写我的所有angular和jasmine代码。当我将angular代码放在另一个文件中时,我的spec.js文件找不到它。可能是因为我没有设置任何依赖关系来确定哪些内容应该首先加载,因为我刚刚开始接触这些东西。
编辑后,将$更正为$q,解决了引用错误。
$q.defer()
д»Јжӣҝ$.defer()
еҗ—пјҹ - Jonathan