草庐IT

react单元测试

全部标签

javascript - React 箭头函数组件 - setState 未定义

我正在尝试在箭头函数组件中设置状态,但出现错误“未定义设置状态”。我尝试使用setState({selectedSlot})和this.setState({selectedSlot})在handleChange中设置状态,但没有任何效果。constAddAssetActivity=props=>{let{variations,slots,priceStructure}=props;letstate={selectedSlot:{"0":"00","1":"11"},cal:1};lethandleChange=(event,value)=>{letselectedSlot=state.

javascript - 针对不同浏览器的 JavaScript 中的一般单元测试概念/实践?

我一直在用强类型语言编写单元测试,对此我有很好的理解。当用JavaScript编写单元测试以验证某些功能在某些浏览器中是否正常工作时,我又回到了手动测试。我不了解它是如何工作的。因为JavaScript旨在缩小数据和表示之间的差距,并使其更具交互性。一切都在浏览器中发生,而且更多地与UI有关。所以我假设如果我要编写单元测试,我会编写类似(伪代码)的内容:runfunctionAcheckDOMifcertainelementhasbeencreatedifnotthenfailcheckifelementisvisibleifnotthenfailcheckforthecontento

javascript - ECMAScript 5 支持测试套件

有谁知道是否存在测试ECMAScript5支持的测试套件(例如,用QUnit编写)? 最佳答案 最“官方”的测试套件可能是ECMAScriptTest262,由EcmaTC39的成员开发。还有开源的ECMAScript5ConformanceSuite由Microsoft和Google开发Sputnik,它测试ECMAScript3的“所有方面”和ECMAScript5的部分内容。这两个套件都包含在ECMAScriptTest262中。如果您只想测试基本支持(例如,新功能的存在,而不是它们是否在每种情况下都表现正确),可以使用ECM

javascript - 对模块化 Javascript 网络应用程序进行单元测试

我正在使用BackboneJS和RequireJS构建一个网络应用程序,需要通过AJAX为UI交互和数据检索实现某种形式的单元测试。我遇到过QUnit和Jasmine但我真的不知道如何将它集成到我的应用程序中。如果我正在测试以下内容:用户登录正常吗?从服务器接收到的数据是否正常?点击按钮是否会触发预期的响应?点击事件是否适用于动态加载的html内容?应用程序是否正确响应哈希/推送状态url的变化?我想测试必须直接集成到我的应用程序中,以便访问特定的JS对象,使用session特定的数据并响应推送状态URL的变化。如何将QUnit或Jasmine(或其他建议)集成到我的模块化应用程序中以

javascript - 如何测试浏览器对背景剪辑 : text? 的支持

如何测试background-clip:text的值,webkit支持文本,但是mozilla和其他浏览器不支持我已经尝试过modernizrteststyles但没有成功 最佳答案 vartestEl=document.createElement("x-test");varsupportsWebkitBackgroundClipText=typeoftestEl.style.webkitBackgroundClip!=="undefined"&&(testEl.style.webkitBackgroundClip="text",t

javascript - AngularJS:基于 Google Maps API 的单元测试应用程序

我需要为大量使用GoogleMapsAPIv3(计算距离、在map中创建标记等)的AngularJS应用程序编写单元测试,并且我知道我应该以某种方式创建或模拟mapCanvas,以便我可以对函数进行单元测试使用GoogleMapsAPI并在该Canvas上创建标记,但我不确定该怎么做,而且我找不到任何关于如何对基于GoogleMapsAPI的应用程序进行单元测试(最好使用AngularJS/Jasmine)的好的教程/资源。任何像这样的单元测试的工作示例——即使是最简单的示例——将不胜感激。 最佳答案 从您上面的评论来看,您似乎可能

javascript - 使用 Javascript 捕获 react 时间,准确性问题

我正在构建一个点探测任务(人们必须在图像消失后对一个点做出快速react),我们需要测量react时间并显示预定义时间间隔内的刺激,以便在在线治疗研究中使用。我们已经决定使用Javascript,我们愿意对用户施加一些限制,即排除IE等。不过我们不能完全禁止Windows。我读了JohnResig'spost关于这个话题,根据这个,我们将不得不禁止Windows上的所有浏览器,除了Firefox和Chrome。另外thisanswer建议使用console.time();作为FF和Chrome的最佳实践。我有一些后续问题,考虑到Resig的帖子现在已有4年历史,并且上面的问题是关于测量

c# - 如何通过 JavaScript 回调在 C# 中运行 QUnit 测试并返回测试结果?

在我的几个项目中,我使用MVC模式将(关注的)代码分成3层。模型层和控制层都在C#上运行,因此我使用MSTest或NUnit等测试框架来验证这些层的功能需求。对于View层,我使用QUnit来测试JavaScript文件。但是,我无法将QUnit作为自动化测试执行,因为MSTest不直接支持测试网页。我需要像下面的逻辑一样在MSTest中运行它。[TestMethod]publicvoidJavaScriptTest(){varresult=QUnit.Test('~/QUnit/test1.htm');Assert.IsTrue(result.Failed解决方案必须使用QUnit中

javascript - 以编程方式测试特定的 css 属性兼容性(调整文本区域的大小支持)

我正在跨浏览器网站上实现一个可调整大小的文本区域。现在在FF/Chrome/Safari中,以下内容:textarea{resize:both;}像魅力一样工作。一点点嗅探让我来到这里:http://www.w3schools.com/cssref/css3_pr_resize.asp我在哪里得知Opera和IE不支持这个属性。没什么大不了的,下面的javascript可以负责检测,其中包含对resizable()的jqueryUI调用以实现功能:if((navigator.userAgent.indexOf('Trident')!=-1)||(navigator.userAgent.

javascript - 测试是否加载了所有图像

这是我尝试测试是否所有图像都已加载的能力:for(vari=0;i问题是一旦循环完成,变量i就是imgCount。这意味着所有其他“已加载”标志在加载图像时永远不会设置为true。是否有某种方法可以将“已加载”属性添加到图像,或者是否有一些解决此问题的方法? 最佳答案 您需要使用闭包定义onload函数:for(vari=0;i这是一个jsFiddle这证明了这种在类似场景中的工作。另外,请注意,您当前选择作为答案的解决方案实际上不起作用:imgArr[i].onload=(function(){loadArr[i]=true;})