草庐IT

test_slice

全部标签

javascript - 在另一个项目中使用 marble testing rxjs5 方法

我有一个webapp项目,它使用rxjs5来实现flux我目前正在寻找为其编写单元测试的解决方案。其实我已经在里面实现了自定义的observables,例如:functiongetActivityObservable(events,timeout){returnObservable.create((observer)=>{constdeb=debounce(()=>observer.next(false),timeout||DEFAULT_TIMEOUT);constsub=events.subscribe((e)=>{if(!e){deb.cancel();observer.next

javascript - 带有异步 forEach 循环的磁带 "test exited without ending"错误

我在做什么编辑:我创建了一个repo使用我的问题的简化版本重现问题。我正在尝试使用browserstack设置自动化前端测试,selenium-webdriver和tape.Moreabouttape这个想法是定义多个浏览器和设备,这些浏览器和设备必须用X数量的给定测试一个接一个地进行测试。在下面的例子中,我在OSX上只定义了一个测试和两个浏览器。为了只定义一次浏览器并处理测试,我创建了一个repotest-runner,它应该作为dev-dependency添加到需要的repos在给定的设备和浏览器上测试。test-runner使所有需要的测试都通过,启动第一个浏览器,在该浏览器上运

javascript - 运行 "npm test"时没有 console.log 到 STDOUT(开 Jest )

据我所知,在运行脚本时,console.log()应该可以毫无问题地打印到我的控制台的STDOUT。但在我的例子中,我将NPM配置为在从shell发出npmtest时运行Jest,并且测试文件中的任何console.log()都不会在屏幕上打印任何东西。我也尝试使用process.stdout.write()但在运行npmtest时我仍然没有得到自定义输出。我应该如何调试测试脚本中的内容?我不知道这是来自Node、NPM还是Jest的问题。有一个Jestissue看起来和我的很相似,但我仍然无法解决并输出一个简单的字符串;而其余的Jest输出则照常回显。有人遇到过类似的问题吗?编辑1:

javascript - 你如何引用 Array.prototype.slice.call()?

我正在编写一个脚本,其中我需要在许多不同的地方克隆数组。因此,我想执行以下操作来模拟克隆功能:varclone=[].slice.call;vararr1=[1,2,3,4,5,6,7,8,9,10];vararr2=clone(arr1,0);不幸的是,上面的代码导致:TypeError:objectisnotafunction。我意识到有很多功能可以进行深度克隆和浅拷贝,但我只想使用内置方法。有趣的是,以下确实有效:varclone=[].slice;vararr1=[1,2,3,4,5,6,7,8,9,10];vararr2=clone.call(arr1,0);有谁知道为什么第

javascript - Jest : cannot find module required inside module to be tested (relative path)

我有这个组件:importReactfrom'react';importVideoTagfrom'./VideoTag';importJWPlayerfrom'./JWPlayer';classVideoWrapperextendsReact.Component{//...componentcode}基于某些逻辑在内部呈现另一个组件(VideoTag或JWPlayer)但是当我尝试在一个Jest文件中测试它时我得到错误:找不到模块'./VideoTag'这三个组件在同一个目录中,这就是为什么当我转译它并在浏览器中看到它在运行时它实际上有效但看起来Jest在解析这些相对路径时遇到问题,这

javascript - Javascript slice 方法是否返回浅拷贝?

在Mozilla开发人员翻译的韩语语言中,“切片方法”返回浅层复制的新数组。所以我测试了我的代码。varanimals=['ant','bison','camel','duck','elephant'];vart=animals.slice(2,4);console.log(t);t[0]='aaa';console.log(t);console.log(animals);但是,如果slice方法返回浅数组,则动物数组应更改为['ant','bison','aaa','duck','elephant']。为什么是浅拷贝? 最佳答案

javascript - 在 "line.slice()"上获取 "karma init"错误

我开始阅读“DevelopinganAngularJSEdge”,我想设置正在使用的各种框架。本书使用了nodejs和karma以及其他几个框架。我在Win7x32上。我刚刚将我的nodejs升级到最新版本,v0.10.18。我用“npminstall-gkarma”安装了Karma包。这似乎成功完成。然后我运行了“karmainit”,它做了这个:%karmainit>readline.js:507this.line=this.line.slice(this.cursor);^TypeError:Cannotcallmethod'slice'ofundefinedatInterfac

javascript - Array.prototype.slice - 如果结束参数大于数组长度怎么办?

我找不到它-如果传递给Array.prototype.slice的end参数大于数组长度怎么办?我已经对其进行了测试并且可以正常工作(在Chrome中),但我不确定这是否是标准行为因此可以普遍使用? 最佳答案 如果end大于数组的长度,则使用数组的长度。来自thespec:IfrelativeEndelseletfinalbemin(relativeEnd,len).所以是的,这是可以使用的标准行为。解决您问题的这一部分:Ican'tfindit我发现最快的方法是搜索“mdnarrayslice”——第一个结果通常是MozillaD

javascript - Vue-test-utils:在单个测试中多次使用 $nextTick

我正在为vuelidate编写单元测试在我的组件中进行验证。我发现$touch()方法是异步调用的,所以我需要为expect()使用$nextTick()。当我需要两个nextTick()s用于两个expect()s时,问题就出现了。describe('Validations',()=>{letdataletmyComponentbeforeEach(()=>{data=()=>{propertyABC='notallowedvalue'}myComponent=localVue.component('dummy',{template:'',validations,data})it('

带有 .test() 的 Javascript 正则表达式

>varp=/abc/gi;>vars="abc";>p.test(s);true>p.test(s);false;当我在Chrome的控制台上运行此代码时,上面有此输出。每次调用'.test()'时,我都会得到不同的值。有人可以向我解释为什么会这样吗?谢谢 最佳答案 该行为是由于“g”修饰符,即匹配三次,第四次不匹配:>varp=/a/gi;>vars="aaa";>p.test(s)true>p.test(s)true>p.test(s)true>p.test(s)false查看类似问题:WhyRegExpwithglobalf