【发布时间】:2015-09-23 08:31:18
【问题描述】:
我有一个简单的 Angular 服务,它调用方法 (this.updateVariable),解析接收到的值,并使用字符串更新变量 (myString)。
我想了解如何编写单元测试来测试收到的值是否正在使用正确的字符串更新变量。
服务:
app.service('myService', function() {
this.updateVariable = function (status, data) {
var myString = '';
if (status.toString()[0] == 4 && data.message !== undefined) {
if ((data.message.indexOf("Out of spoons") > -1) || (data.message.indexOf("Out of forks")) > -1){
myString = "Sorry, weve ran out of spoons and/or forks";
}
else if (data.message.indexOf("Out of plates") > -1) {
myString = "Sorry, weve ran out of plates";
}
else {
myString = "We seem to be facing a technical issue";
}
}
if (status.toString()[0] == 9) {
myString = "Ooops, looks like something is broke.";
}
return myString;
};
});
【问题讨论】:
-
你的测试在哪里?您要检查哪个变量?我希望这是您编写的一些代码,只是为了尝试一下,因为您的函数/变量命名不是很便于维护。
-
@codemonkey - 我想根据 if 语句测试 myString 的值是否正确。是的,这只是非常粗略的代码,因为我试图通过一个简单的服务从头开始理解测试。
标签: javascript angularjs unit-testing jasmine karma-jasmine