草庐IT

jest-jasmine

全部标签

javascript - 如何自定义 Jasmine 的目录结构?

当使用JasmineRubygem时,我发现非常烦人的是我必须符合生成的目录结构,该目录结构在spec文件夹中有一个javascripts子文件夹。我发现它没用,因为我完全用Javascript编写。我发现我可以通过更改生成的jasmine.yml在public文件夹中更改它,但是,这不是我想要的,因为我仍然必须保留javascripts文件夹给我。有什么方法可以自定义这个文件夹结构吗? 最佳答案 这是我用jasminegem1.0.2.1做的:1)自定义jasmine_config.rb文件覆盖simple_config_file

javascript - 如何在 Jasmine/Angularjs 中对下拉列表进行单元测试

我正在尝试对一个指令进行单元测试,该指令使用一些JSON来创建下拉列表以指定列表的详细信息。该指令工作正常,但我在尝试对其进行单元测试时遇到问题。这是测试:/*globalinject,expect,angular*/define(function(require){'usestrict';require('angular');require('angularMock');require('reporting/js/directives/app.directives');require('reporting/js/directives/drop.down.field.directive

javascript - 使用 Jasmine async 测试 postMessage 不起作用

我正在尝试使用Jasmine2.0为AngularJS应用程序中的某些逻辑编写单元测试,但该逻辑位于事件监听器中。来自Controller:window.addEventListener('message',function(e){if(e.data==="sendMessage()"){$scope.submit();}},false);来自测试文件:describe("postmessage",function(){beforeEach(function(done){varcontroller=createController(controllerParams);spyOn($sc

javascript - karma Jasmine 测试 : Highlight diff in terminal

我将Karma与Jasmine一起用于我的测试。在某些测试中,我有测试所依赖的大对象。当我做类似的事情时expect(obj).toEqual(expectedObj);和obj!=expectedObj,我在终端中收到一条错误消息。但是这个错误真的很长,因为它包含了两个对象,而且很难看出两个对象在哪些部分不同。那么,有没有可以与karma一起使用的终端荧光笔?这样,就更容易找出问题所在。 最佳答案 我遇到了同样的问题,为我做了什么karma-jasmine-diff-reporter.只需安装它:npminstallkarma-j

javascript - 如何避免 Jest 警告 : A "describe" callback must not return a value?

将Jest从版本23升级到版本24后,在运行我的测试时,几乎每个测试都会收到这样的警告消息:A"describe"callbackmustnotreturnavalue.Returningavaluefrom"describe"willfailthetestinafutureversionofJest.附带的堆栈跟踪指向此模块:addSpecsToSuite(node_modules/jest-jasmine2/build/jasmine/Env.js:443:15)这样做的原因是我喜欢在我的测试中使用箭头函数的简写版本,当函数体只包含一个语句时省略大括号,例如:describe('t

javascript - Jasmine 不会从 Assets 管道加载 javascript 文件

我正在开发一个gem,我已经安装了Jasminehttps://github.com/pivotal/jasmine-gem/我所有需要的JS文件都在我的list文件中,位于app/assets/javascripts/application.js//=requireunderscore//=requirebackbone//=require_tree.//vendor//=require_tree.//custom//=require_tree.//templates//=require_tree.//models//=require_tree.//collections//=req

javascript - 找不到 Karma + Jasmine + TypeScript + Webpack 的源映射

我正在尝试使用Karma、Jasmine和Webpack测试(覆盖)我的TypeScript应用程序。通过以下,我能够成功运行测试,但无法正确生成覆盖率。我正在使用karma-remap-coverage(https://github.com/sshev/karma-remap-coverage),它看起来很简单。它看起来好像发生了一些有趣的事情(而且我得到了某种覆盖率报告)但是在这里和那里进行了一些调整,数字发生了巨大变化,我永远无法真正加载源map。这是基本设置:我有一个src目录,其中包含10个.ts文件。目前只有一个有相应的.spec文件。spec文件非常简单,足以证明我可以运

javascript - 为什么这些 Jest 不会重置?

我有影响其他测试并导致它们失败的测试代码。当我单独运行测试用例时,一切都通过了,但是当我运行整个套装时,就会出现很多失败。如果您查看下面的两个测试,您会发现我覆盖了测试中的模拟模块以导致抛出异常。HttpService.post=jest.fn(()=>{returnPromise.reject({payload:'rejected'});});此行运行后,所有需要原始HttpService.post模拟的测试都会失败,因为它们没有被重置。测试后如何将我的模拟正确恢复为导入的模拟?我已经在beforeEach中尝试过jest.resetMock以及类似的所有Jest方法,但没有任何效果

javascript - 我觉得大多数用 jest 和 enzyme 进行的组件测试都是毫无值(value)的,我错了吗?

我是使用React-Jest-Enzyme进行测试的新手,但从我收集的所有相关信息来看,在我看来,大多数测试实际上都在测试如果React库崩溃,而不是我的实际业务逻辑。我举几个例子,如果我错了请指正:快照测试:这个策略有什么问题?据我所知,它的主要目的是捕获对我的代码的任何不需要的更改。它“stringify”我的组件树,并注意到是否添加了任何新的换行符/字符,对吗?所以它主要用于那些我可能不小心按下键盘的情况?或者其他人不小心弄乱了我的代码?Enzyme的mount/shallow和Jest的我看到的大多数解释你如何使用它们的例子都是这样的:constwrapper=mount()e

javascript - "Error: Mismatched anonymous define()"与 Karma + RequireJS + Jasmine

我现在卡住了一段时间,试图设置和运行单元测试。我有一个AngularJS前端加载了针对生产优化的RequireJS和r.js,所以它很好地放在一个文件中。这行得通!执行单元测试是行不通的。到目前为止,这没什么特别的,只是从教程中复制了一个starter。tests/user/user.test.js:define(['angular','angular-mocks','app'],function(angular,app){describe('Unit:UserController',function(){beforeEach(module('user.app'));it('shoul