gpt4 book ai didi

javascript - 请建议如何为下面的 angularjs 代码编写 Jasmine 测试用例

转载 作者:行者123 更新时间:2023-11-28 06:34:03 26 4
gpt4 key购买 nike

在下面的示例中,我想模拟 dataService。问题是我需要在函数(数据)下返回数据后测试功能。

由于逻辑依赖于返回的数据。我认为模拟/监视数据服务在这方面可能没有帮助。

请提供可能的解决方案。

var app = angular.module('app', []);
app.controller('Controller', ['$scope', '$location', 'dataService', '$window', 'OtherService', 'Config', function ($scope, $location, dataService, $window, SomeService, Config) {

$scope.btnClick = function () {
var SomeNumber = $scope.enteredNumber;
if (SomeNumber == "xyz") {
$scope.errorType = 'errorRequired';
}
else {

dataService.validate_enteredNumber(SomeNumber, function (data) {
if (data != null) {
if (data.responsetype == 1) {
$scope.errortype = data.responsemessage;
}
else {
dataservice.getdetailsforenterednumber(data.responsemessage, function (getdata) {
if (getdata.responsetype == 1) {
$scope.errortype = getdata.responsemessage;
}
else if (getdata.responsetype == 2) {
if (getdata.responsemessage.touppercase() == "consumer")
$window.location.href = "url";
}
else
$location.path('/Somelist').search({ SomeNumber: getdata.responsemessage });
});
}
}



});
}
}


if ($location.search().SomeNumber != null) {
$scope.enteredNumber = $location.search().SomeNumber;
$scope.btnClick();
}

} ]);

最佳答案

我不完全确定你在追求什么。假设您只想在调用 validate_enteredNumber 函数后测试功能,您仍然可以监视该函数并提供模拟结果。

spyOn(data_service, 'validate_enteredNumber').andReturn(mockObjectYouCreate);

关于javascript - 请建议如何为下面的 angularjs 代码编写 Jasmine 测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com