草庐IT

gulp-jasmine

全部标签

javascript - 在 Jasmine 中每次测试后如何自动恢复所有 sinon.js spy ?

有什么方法可以找到sinon.js中所有活跃的spy吗?我希望能够做这样的事情:afterEach->sinon.restoreAllSpies()it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()目前,我需要费力地(而且容易出错!)这样做:it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()wind

javascript - gulp JavaScript 变量中 OR 的语法

这应该很简单。我在gulpfile.js中声明了这个路径变量:paths={img:['src/patternlab/**/**/*.jpg','src/patternlab/**/**/*.png']};我想对文件扩展名使用一个简单的OR开关,如下所示:'src/patternlab/**/**/*.(jpg|png)'但是我找不到正确的语法!尝试了无数次排列,浏览了MDN等等…… 最佳答案 gulp使用的模式是npm的glob提倡的模式。包不使用精确的正则表达式模式匹配语法,我想是因为这些东西在与路径匹配时开始看起来很可怕。关于

javascript - 如何使用 Jasmine 监视静态类方法

我有一个带有静态方法的类,我想在Jasmine中对其进行测试。我知道静态方法不能在类的实例上调用。因此,除了它找不到spyOn的方法这一事实之外,我的测试没有通过,但是如何使用Jasmine测试类中的静态方法?classFoo{staticfoobar(a,b){returna*b}}Jasmine测试it('shouldtestastaticmethod',()=>{letfoo=newFoo()spyOn(foo,'foobar')foo.foobar(2,3)expect(foo.foobar).toBe(6)}) 最佳答案

javascript - Gulp 浏览器同步只工作一次

我正在我的一个项目中试用Gulp,我想像以前使用Gruntwatch一样运行它。这意味着,它必须监视更少的文件和js文件、lint、合并、编译并在完成所有操作后刷新浏览器。我设法让它与gulp-browser-sync一起工作,但由于某种原因它只能工作一次。我更改了我的.less文件,浏览器重新加载。然后,进行第二个更改,它会编译但不会重新加载。这是日志:[BS]Servingfilesfrom:./[09:47:26]Starting'css-clean'...[09:47:26]Finished'css-clean'after16ms[09:47:26]Starting'style

javascript - 使用 jasmine 测试 Backbone 关系模型

假设我有两个简单的固定文件,一个用于用户(1),一个用于消息(2)。消息的Backbone模型如下(3)。如果我加载“MessageFixture”,我还想获得有关消息模型中指定的用户的相关信息。使用jasmine测试套件在规范View(4)中激活此目标的正确方法是什么?详情请见(4)中的评论。(1)//UserFixturebeforeEach(function(){this.fixtures=_.extend(this.fixtures||{},{Users:{valid:{status:'OK',version:'1.0',response:{users:[{id:1,name:

javascript - 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些功能/方法

我正在尝试弄清楚如何限制我的测试,以便覆盖率报告者只考虑在为该功能专门编写测试时覆盖的功能。下面的例子来自PHPUnitdoc很好地展示了我试图实现的目标:The@coversannotationcanbeusedinthetestcodetospecifywhichmethod(s)atestmethodwantstotest:/***@coversBankAccount::getBalance*/publicfunctiontestBalanceIsInitiallyZero(){$this->assertEquals(0,$this->ba->getBalance());}如果执

javascript - Jasmine 使用 PhantomJS : ReferenceError: Can't find variable: $ 丢失了 jQuery

我想用PhantomJS在控制台中测试Jasmine使用jQuery的JS代码,但是ReferenceError:找不到变量:$我可以在浏览器中通过Jasmine正常测试代码。感谢您的帮助。$phantomjsexamples/run-jasmine.jshttp://localhost:8888/ReferenceError:Can'tfindvariable:$http://localhost:8888/public/javascripts/PhotoTable.js:59ReferenceError:Can'tfindvariable:$http://localhost:8888

javascript - 如何使用 Gulp 订购注入(inject)的文件?

我的Angular应用程序具有以下结构-src/app/main/|-main.js-main.controller.js-index.html我正在使用Gulp。构建完成后,*.js文件以错误的顺序注入(inject)到index.html中。文件main.js依赖于main.controller.js,所以main.controller.js必须在main之前注入(inject)。js.这是我的gulpfile.js'usestrict';vargulp=require('gulp');vargutil=require('gulp-util');varwrench=require(

javascript - Gulp.js - 在连接时重写嵌入在 css 中的 url

我正在使用Gulp连接来自不同目录的多个css文件(Bower管理的依赖项)。Font-awesome是这些依赖项之一,它包含对其字体的相对引用url(../font....)。当css文件被串联并放在不同的目录中时,这个相对url显然是错误的。是否有处理此问题的最佳做法? 最佳答案 你可以使用gulp-replace。https://npmjs.org/package/gulp-replace**gulp-replacecanbecalledwithastringorregex.***replace(string,replacem

javascript - gulp-concat 和 lazypipe 的这种组合在使用 gulp 4 时会导致错误吗?

我正在从Gulp3升级到4,但我遇到了一个错误:Thefollowingtasksdidnotcomplete:buildDidyouforgettosignalasynccompletion?我明白它在说什么,但不明白为什么这段代码会触发它。无论是否出错,任务完成(文件被连接并写入目标)。在没有lazypipe的情况下执行相同的代码不会导致错误,并且在lazypipe中删除连接也可以修复错误。将整个东西包装在创建流的东西中(比如合并流)可以解决这个问题。我猜gulp-concat和lazypipe之间的交互阻止了正确返回流。这是(简化的)任务:gulp.task('build',fu