草庐IT

unit-testing

全部标签

javascript - 如何使用 Jest 测试对象的一部分?

我想测试时间是否被正确解析,我只对检查部分属性而不是整个对象感兴趣。在这种情况下,小时和分钟。我尝试使用expect(object).toContain(value)但正如您在下面的代码片段中看到的那样,它失败了,尽管该对象包含我感兴趣的属性并且它们具有正确的值。●Calendar>CalendarViewConfig›itshouldparsetimeexpect(object).toContain(value)Expectedobject:{"display":"12:54","full":774,"hour":12,"hours":12,"minutes":54,"string"

javascript - 测试套件无法运行 TypeError : Cannot read property 'default' of undefined

我正在尝试在我的react-native项目上设置Jest,但它与bugsnag-react-native配合得不好.在我当前的测试配置中,我看到了与bugsnag的leaveBreadcrumb函数相关的错误,如下所示:FAILapp/__tests__/NetworkReducer.test.js●TestsuitefailedtorunTypeError:Cannotreadproperty'default'ofundefinedatObject.(app/__tests__/NetworkReducer.test.js:10:20)atGenerator.next()atPro

javascript - 如何将 $rootScope 注入(inject) AngularJS 单元测试?

假设我有一个依赖于$rootScope中的值的服务,如以下(普通)服务:angular.module('myServices',[]).factory('rootValGetterService',function($rootScope){return{getVal:function(){return$rootScope.specialValue;}};});如果我想通过在$rootScope中放置一个值来对此进行单元测试,最好的方法是什么? 最佳答案 ...var$rootScope;beforeEach(inject(funct

javascript - 模拟点击文档 ReactJS/JSDom

所以我正在为在文档上添加点击事件的代码编写一些测试。我正在使用JSDom、ReactJS和Mocha/Chai设置。我在测试中尝试了以下代码:document.addEventListener('click',function(){console.log('test');});React.addons.TestUtils.Simulate.click(document);//alsotriedReact.addons.TestUtils.Simulate.click(document.body);但是这段代码并没有产生我期望的回声。有没有办法用JSDom和ReactJS在文档上模拟点击

javascript - 试图理解 Jasmine 的 toHaveBeenCalled() 匹配器

我是jasmine的新手,这是我的src文件,我在其中创建了Auth类functionAuth(){}Auth.prototype.isEmpty=function(str){return(!str||0===str.length);}Auth.prototype.Login=function(username,password){if(this.isEmpty(username)||this.isEmpty(password)){return"UsernameorPasswordcann'tbeblank";}else{return"LoggedIn!";}}现在我想测试jasmin

javascript - Jest : How to correctly mock a node module?

我想用Jest在ReactNative中模拟node_module'ReactNativeKeychain'。在docs之后,我创建了一个名为__mocks__的文件夹,并在其中创建了一个名为react-native-keychain.js的文件。这是文件中的代码:exportdefaultjest.mock("react-native-keychain",()=>{consttoken="abcdefghijklmnopqrstuvwxyz0123456789";constcredentials={username:"session",password:token};return{s

javascript - 如何在 ember.js 中对 View 进行单元测试?

我们正在学习Ember.js。我们进行所有的开发TDD,并希望Ember.js也不异常(exception)。我们有构建测试驱动的Backbone.js应用程序的经验,因此我们熟悉使用Jasmine或Mocha/Chai测试前端代码。在弄清楚如何测试View时,我们遇到了一个问题,因为View使用的模板有一个#linkTo语句。不幸的是,我们无法找到好的测试示例和实践。这个要点是我们寻求如何正确地对ember应用程序进行单元测试的答案。查看testforlinkToinEmber.jssourcecode时,我们注意到它包含一个支持#linkTo的ember应用程序的完整连接。这是否意

javascript - 测试使用 setInterval 或 setTimeout 的 Angular2 组件

我有一个相当典型、简单的ng2组件,它调用一个服务来获取一些数据(轮播项目)。它还使用setInterval每隔n秒自动切换UI中的轮播幻灯片。它工作得很好,但在运行Jasmine测试时我收到错误:“无法在异步测试区内使用setInterval”。我尝试在this.zone.runOutsideAngular(()=>{...})中包装setInterval调用,但错误仍然存​​在。我原以为将测试更改为在fakeAsync区域中运行可以解决问题,但随后我收到一条错误消息,指出不允许从fakeAsync测试区域中进行XHR调用(这确实有意义)。如何同时使用服务发出的XHR调用和时间间隔,

javascript - Jest : Testing window. location.reload

如何编写测试以确保方法reloadFn实际上重新加载窗口?我找到了thisresource但是我不清楚在给定函数中发生窗口重新加载时编写测试时如何期望窗口重新加载。感谢您的帮助!constreloadFn=()=>{window.location.reload(true);} 最佳答案 更新答案(2021年11月)包装:“开Jest”:“^26.6.0”"@testing-library/jest-dom":"^5.11.4"构建:create-react-app4describe("testwindowlocation'srelo

javascript - Chai Library 中 equal 和 eql 有什么区别

我有一个关于用于单元测试的Chai库的问题。我注意到一条声明说:equal:断言目标严格(===)等于给定值。eql:断言目标深度等于值。我对strictly和deeply之间的区别感到困惑。 最佳答案 严格相等(或===)意味着您正在将完全相同对象与其自身进行比较:varmyObj={testProperty:'testValue'};varanotherReference=myObj;expect(myObj).to.equal(anotherReference);//Thesameobject,onlyreferencedby