草庐IT

closure_test

全部标签

javascript - 如何防止 Closure Compiler 重命名 "true"、 "false"和 "null"

GoogleClosureCompiler重命名代码中出现的所有“true”、“false”和“null”;vars=true,x=null,V=false;并改用这些缩写;在诸如;if(someVariable==s)现在;GoogleAnalytics代码定义了它自己的“s”变量;覆盖值“true”;如您所见,这会导致很多问题。我不想更改GA代码;我只想让ClosureCompiler停止重命名true等。Externs不起作用。你知道有什么方法可以做到这一点吗? 最佳答案 事实证明,可以通过命令行代码中名为“output_wr

javascript - 使用 Jest 时防止 "test/expect/etc is not defined"错误

Facebook的Jest测试框架很容易getstartedwith,butthedocumentation俯瞰一个annoyingaspect:任何试图警告undefinedsymbol的编辑器都会将测试语句突出显示为错误,因为未定义test、expect和所有匹配器方法。同样,尝试直接使用node运行测试文件将失败并显示ReferenceError:testisnotdefined。需要添加哪些require/import语句才能消除这些错误? 最佳答案 节点如果您想直接通过节点运行它们,请尝试要求jest和/或jest-run

javascript - RegExp.test 不工作?

我试图在javascript中使用Regex.test验证年份,但无法弄清楚为什么它返回false。varregEx=newRegExp("^(19|20)[\d]{2,2}$");regEx.test(inputValue)对于输入值1981、2007返回false谢谢 最佳答案 当您使用字符串表达式创建RegExp对象时,您需要加倍反斜杠以便它们正确转义。另外[\d]{2,2}可以简化为\d\d:varregEx=newRegExp("^(19|20)\\d\\d$");或者更好的是使用正则表达式文字来避免双反斜杠:varreg

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 - 我可以告诉 Closure 编译器仅针对特定类型停止重命名属性吗?

此问题如下:WhydoesClosurecompilerrenamepropertiesofanexterntype?约翰对这个问题的回答引出了第二个问题。如果我按照建议声明外部类型:/**@interface*/functionSpanishNoun(){}/**@type{string}*/SpanishNoun.prototype.english;/**@type{string}*/SpanishNoun.prototype.spanish;然后像这样的Javascript:/***@param{SpanishNoun}n*/exp.foo=function(n){console

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 - 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 - 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('