草庐IT

catch-unit-test

全部标签

javascript - meteor JS : How to stub validated method in unit test

我正在使用经过验证的方法(mdg:validated-method)和LoggedInMixin(tunifight:loggedin-mixin)。现在我的单元测试出现了问题,因为它们因notLogged错误而失败,因为在单元测试中当然没有登录用户。我怎么必须stub呢?方法constresetEdit=newValidatedMethod({name:'reset',mixins:[LoggedInMixin],checkLoggedInError:{error:'notLogged'},//单元测试describe('resetEdit',()=>{it('shouldreset

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 - 如何在没有 try/catch block 的情况下处理 javascript 中未捕获的异常?

我试图完成的是注册一个全局处理程序来捕获所有未捕获的异常。在网上搜索时,我只设法找到指出window.onerror的人,但这对我来说没有用。显然window.onerror只在错误时被调用而不是在异常时被调用。假设以下代码:functionwindowError(message,url,line){alert(message,url,line);}window.onerror=windowError;throw("uncaught");明显未捕获的异常不会触发windowError处理程序。(使用Firefox3.6.3)有什么建议吗? 最佳答案

javascript - Promise.then(a, b) 和 Promise.then(a).catch(b) 一样吗?

这个问题在这里已经有了答案:Whenis.then(success,fail)consideredanantipatternforpromises?(7个答案)关闭4年前。有什么区别myPromise.then(a,b)myPromise.then(a).catch(b)?无论myPromise的内容和状态以及函数a和b的实现如何,这两个JavaScript表达式是否总是产生相同的结果?除了代码可读性之外,在什么情况下我应该更喜欢使用其中一种?

javascript - try catch 不捕获无效日期

这个问题在这里已经有了答案:Detectingan"invaliddate"DateinstanceinJavaScript(51个答案)关闭9年前。我正在尝试验证日期输入,所以如果它是正确的,我会处理一种方式,如果无效,我会处理另一种方式......vardate,datestring,e;datestring="2012-03-222";try{date=newDate(datestring);/*Endsuplogging`InvalidDate`*/console.log(date);}catch(_error){e=_error;/*Shouldcomehereandlog`

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 - catch 和 onErrorResumeNext 的区别

在RxJS中,Observable实例的catch方法和onErrorResumeNext方法之间似乎没有什么区别,除了onErrorResumeNext连接原始Observable与Observable参数是否发生错误。这样的话,命名是不是有点乱?因为如果出现错误,onErrorResumeNext的工作方式与catch的工作方式完全相同:vartestObservable=Rx.Observable.return(1).concat(Rx.Observable.throw("Error"))//BothonErrorandonCatchwillemitthesameresult:1

javascript - 'catch' 在原生 Promise 链中是如何工作的?

在Chrome或Firefox的控制台选项卡上尝试这段代码varp=newPromise(function(resolve,reject){setTimeout(function(){reject(10);},1000)})p.then(function(res){console.log(1,'succ',res)}).catch(function(res){console.log(1,'err',res)}).then(function(res){console.log(2,'succ',res)}).catch(function(res){console.log(2,'err',r

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在解析这些相对路径时遇到问题,这