Jasmine 中的单元测试用例

     2023-03-16     252

关键词:

【中文标题】Jasmine 中的单元测试用例【英文标题】:Unit Test case in Jasmine 【发布时间】:2016-02-12 03:21:33 【问题描述】:

我正在尝试为循环中的 if 条件编写一个测试用例,但是我没有将它作为过滤器的一部分。有什么方法可以测试循环中的 if 条件。我的测试用例根本不执行这行代码。

下面是我的控制器代码

   $scope.init = function()
   
for (var i = 0; i < $scope.tempdata.length; i++)  //mapping of the status   to text

            if ($scope.tempdata[i].Status == 'U') 
                    $scope.statusText = 'text1';

                
                if ($scope.tempdata[i].Status == 'A' || $scope.tempdata[i].Status == 'W') 
                    $scope.statusText = 'text2';
                
                if ($scope.tempdata[i].Status == 'F') 
                    $scope.statusText = 'text3';
                
                if ($scope.tempdata[i].Status == 'P') 
                    $scope.statusText = 'text4';
                
                if ($scope.tempdata[i].Status == 'E') 
                    $scope.statusText = 'text5';
                
                if ($scope.tempdata[i].Status == 'S') 
                    $scope.statusText = 'text6';
                
                  
          

下面是我的测试用例

 it('should set the status', function() 
   scope.responseSet = true;
   var mockTempData =['Status': 'F'];
    scope.tempdata = mockTempData
    scope.init();  
    expect(scope.statusText).toBe(text3);
);

当我运行 karma 时,我的测试用例失败,Expected '' to be text3。

【问题讨论】:

switch($scope.tempdata[i].Status) 看起来会更整洁。另外,你的测试不应该是expect(scope.statusText).toEqual('text3')(如字符串“text3”)吗? 这里好像没问题~plnkr.co/edit/4t8W9APotPwcvzvvuPxQ?p=preview 【参考方案1】:

如果您展示了如何将作用域“注入”到控制器测试中,则更容易判断。但是,我发现调试我的单元测试以仔细地逐步完成它们并确保一切都符合我所期望的每一步是非常有帮助的。

最后一行应该是

expect(scope.statusText).toBe('text3');

请注意,测试代码中的 text3 应更改为“text3”,因为这是实际控制器中的字符串,而不是变量名。

【讨论】:

如何使用 Jasmine 为以下 javascript 函数编写单元测试用例

】如何使用Jasmine为以下javascript函数编写单元测试用例【英文标题】:HowtowriteUnitTestCaseforbelowjavascriptfunctionusingJasmine【发布时间】:2019-04-1303:24:37【问题描述】:如何使用Jasmine为下面的javascript函数编写单元测试用例?functionGetURL... 查看详情

我们如何为嵌套函数编写单元测试用例(Jasmine)?

】我们如何为嵌套函数编写单元测试用例(Jasmine)?【英文标题】:HowdowewriteUnittestcases(Jasmine)fornestedfunctions?【发布时间】:2017-05-2902:51:47【问题描述】:我正在为以下场景编写一个测试用例。代码覆盖率没有完全覆盖。不知道... 查看详情

如何使用 Angular 4 Jasmine 单元测试用例覆盖 IF/ELSE 条件

】如何使用Angular4Jasmine单元测试用例覆盖IF/ELSE条件【英文标题】:HowtocoverIF/ELSEconditionwithAngular4Jasmineunittestcase【发布时间】:2018-05-2419:55:23【问题描述】:帮助我覆盖IF/Else覆盖范围和返回HTTP响应的方法以及构造函数以覆盖Jasmin... 查看详情

编写 Karma-Jasmine 单元测试用例时出现“错误:没有路由器提供程序”

】编写Karma-Jasmine单元测试用例时出现“错误:没有路由器提供程序”【英文标题】:"Error:Noproviderforrouter"whilewritingKarma-Jasmineunittestcases【发布时间】:2017-04-2211:51:04【问题描述】:我们已经完成了一个angular2项目设置,并... 查看详情

如何在 Angular 7 中使用 Karma/Jasmine 为 App_Initializer 编写单元测试用例

】如何在Angular7中使用Karma/Jasmine为App_Initializer编写单元测试用例【英文标题】:howtowriteunittestcasesforApp_InitializerusingKarma/Jasmineinangular7【发布时间】:2019-06-3002:41:22【问题描述】:我已经在我的app.module.ts文件中导入了APP_INITIALIZER... 查看详情

如何使用 angular9 和 Jasmine 为所有组件生成 .pdf 格式的单元测试用例代码覆盖率报告

】如何使用angular9和Jasmine为所有组件生成.pdf格式的单元测试用例代码覆盖率报告【英文标题】:Howtogenerateunittestcasecodecoveragereportin.pdfforallcomponentsusingangular9andJasmine【发布时间】:2021-06-2104:04:18【问题描述】:.html格式的Angular支... 查看详情

使用 postMessage 和 addEventListener 进行 Jasmine 单元测试

】使用postMessage和addEventListener进行Jasmine单元测试【英文标题】:JasmineUnitTestwithpostMessageandaddEventListener【发布时间】:2015-09-1223:33:04【问题描述】:我正在尝试使用postMessage和addEventListener对情况进行单元测试。用例是我使用类似... 查看详情

单元测试 typescript 指令模板 karma-jasmine,html 未定义

】单元测试typescript指令模板karma-jasmine,html未定义【英文标题】:unittestingtypescriptdirectivetemplatekarma-jasmine,htmlisnotdefined【发布时间】:2016-06-2401:04:35【问题描述】:最近我开始使用karma-jasmine对我的typescript代码进行单元测试。在... 查看详情

使用 jasmine 和 karma 进行单元测试时形成数组错误

】使用jasmine和karma进行单元测试时形成数组错误【英文标题】:Formsarrayerrorwhileunittestusingjasmineandkarma【发布时间】:2021-01-1909:04:36【问题描述】:我正在为Angular应用程序版本9编写单元测试用例。但我遇到了错误。TypeError:无法读... 查看详情

Jasmine 使用 Angular 中的 TypeScript 对文件大小进行单元测试

】Jasmine使用Angular中的TypeScript对文件大小进行单元测试【英文标题】:JasmineunittestforfilesizewithTypeScriptinAngular【发布时间】:2019-01-1513:27:13【问题描述】:寻找最佳实践如何在inputtype="file"更改事件上测试文件大小。现在我的测试... 查看详情

AngularJS – 如何在 Jasmine 中为输入事件指令编写单元测试

】AngularJS–如何在Jasmine中为输入事件指令编写单元测试【英文标题】:AngularJS–howtowriteunit-testinJasmineforentereventsdirective【发布时间】:2014-09-1516:45:23【问题描述】:我在AngularJS中创建了enterevent指令,所以我想为该指令运行测试... 查看详情

使用 jasmine 对控制器中基于资源的工厂进行角度 js 单元测试

】使用jasmine对控制器中基于资源的工厂进行角度js单元测试【英文标题】:angularjsunittestusingjasmineforaresourcebasedfactoryincontroller【发布时间】:2016-07-2718:31:12【问题描述】:我是使用jasmine编写单元测试用例的新手。我正在尝试在控... 查看详情

Angular - Jasmine/karma - 订阅 lambda 表达式未执行

】Angular-Jasmine/karma-订阅lambda表达式未执行【英文标题】:Angular-Jasmine/karma-subscribelambdaexpressionisnotgettingexecuted【发布时间】:2020-01-1220:22:38【问题描述】:我正在使用Jasmine/karma为angular6组件中的observable编写单元测试用例。请找到... 查看详情

Angular Karma Jasmine 单元测试在 afterAll TypeError 中引发错误:users.forEach 不是函数

】AngularKarmaJasmine单元测试在afterAllTypeError中引发错误:users.forEach不是函数【英文标题】:AngularKarmaJasmineUnitTestAnerrorwasthrowninafterAllTypeError:users.forEachisnotafunction【发布时间】:2021-12-2711:57:43【问题描述】:我是下面代码的单元测... 查看详情

前端测试框架学习

...,这次做了一个认真的学习与总结。单元测试框架:Mocha,Jasmine等,因测试框架不包含断言库,因此需要引入断言库,Jasmine带有断言库assertions(未使用过)。断言库assert,shouldjs,chai等,具体的单元测试用例中使用karma是一款自动... 查看详情

如何在不使用 Angular 的 spyOn 的情况下检查服务中的方法是不是在 Jasmine 单元测试中被调用?

...在不使用Angular的spyOn的情况下检查服务中的方法是不是在Jasmine单元测试中被调用?【英文标题】:HowtocheckifamethodfromaserviceiscalledornotinJasmineunittestingwithoutusingspyOninAngular?如何在不使用Angular的spyOn的情况下检查服务中的方法是否在J... 查看详情

dojo中的单元测试

...描述】:我从道场开始。来自GWT和Backbone,我使用junit和jasmine来测试我的应用程序。在锁定dojoDOH测试框架之后,我想知道它是否值得使用,或者还是继续使用jasmine或busterjs等jan外部测试框架会更好。我担心的一个问题是,我还没... 查看详情

使用 Jasmine 和 TypeScript 进行单元测试

】使用Jasmine和TypeScript进行单元测试【英文标题】:UnittestingusingJasmineandTypeScript【发布时间】:2015-09-0100:49:49【问题描述】:我正在尝试使用Jasmine编译一个用Typescript编写的单元测试。在我的单元测试文件中包含以下内容后,Resha... 查看详情