草庐IT

gulp-jasmine

全部标签

javascript - Full Gulp Istanbul 尔报道报告

我正在使用gulp-istanbul通过Gulp生成JavaScript单元测试覆盖率报告。有没有一种方法可以配置Istanbul以生成我的gulp流中所有JS文件的完整覆盖率报告,而不仅仅是测试用例所触及的文件。我正在做一个有很多JS的项目,但没有单元测试,我们正在努力增加测试覆盖率。我想要一份覆盖率报告,它首先显示我们大多数文件的覆盖率为0%,但随着时间的推移,覆盖率会逐渐增加。gulp.task('test',function(){gulp.src([mysourceglob]).pipe(istanbul()).on('end',function(){gulp.src([myt

javascript - Gulp:控制台出错,assert.js:90 抛出新的 assert.AssertionError

我在控制台中收到这样的错误:$一饮而尽assert.js:90thrownewassert.AssertionError({^AssertionError:TaskfunctionmustbespecifiedatGulp.set[as_setTask](C:\Users\user\Projects\Newproject\node_modules\undertaker\lib\set-task.js:10:3)atGulp.task(C:\Users\user\Projects\Newproject\node_modules\undertaker\lib\task.js:13:8)at

javascript - 自定义 Jasmine 匹配器和 Protractor

我们添加了一个toHaveClass自定义jasmine匹配器,为了让它工作,我们必须将它添加到beforeEach()(在thistopic的帮助下)。并且,为了遵循DRY原则并避免在需要toHaveClass的规范中的每个beforeEach()中重复匹配器定义,我们添加了一个beforeEach()block直接进入onPrepare():onPrepare:function(){varjasmineReporters=require("jasmine-reporters");require("jasmine-expect");//...//custommatchersbefor

javascript - 在 javascript 认为文档为 "ready"之前,如何让我的 jasmine 测试装置加载?

我相当确定问题是设置为在$(document).ready上运行的jquery绑定(bind)没有可用的固定html。因此,当我发生旨在通过jquery函数更改DOM的事件时,什么也没有发生,我的测试失败了。我看到了这个问题的“解决方案”here,但是对我有用的解决方案需要更改我的工作jquery函数以绑定(bind).live方法而不是.click方法。我有两个问题。首先,我不想更改我的工作代码以使测试正确通过。测试框架应该测试代码是否会在应用程序中工作,DOM加载和javascript绑定(bind)以正确的顺序发生。我对解决方案的第二个问题是.on和.delegate由于某种原因

javascript - 如何根据Jasmine 的SpecRunner.html 生成LCOV 报告?

我们使用Jasmine进行JavaScript单元测试。我们有一个SpecRunner.html文件来运行测试。是否存在一种工具,我可以将路径传递给SpecRunner.html和JavaScript(不是规范)文件目录的路径,它会生成LCOV报告。例如,像这样:phantomjsjasmine_lcov.jsSpecRunner.htmlWebContent/js 最佳答案 我同意@zaabalonso的观点Karma是正确的选择。由于您需要LCOV报告,因此您还需要karma-coverage插件并假设您想在CI中headles

javascript - Jasmine 2.0 SpecRunner 与 Karma

我刚开始使用Jasmine,并且能够很好地使用Html中的SpecRunner。然而,当我配置Karma时,我遇到了一个差异:describe('Calculator',function(){varobj;beforeEach(function(){//initializeobjectobj=newObject();this.addMatchers({toBeFive:function(){return{compare:function(actual,expected){return{pass:actual===5,message:actual+'isnotexactly5'}}};}

javascript - Gulp watch - 按顺序执行任务(同步)

我有一系列任务要从观察者那里运行,但我可以让它们按顺序触发:这里是gulp任务和观察者。gulp.task('app_scss',function(){returngulp.src(appScssDir+'/main.scss').pipe(sass({style:'compressed'}).on('error',gutil.log)).pipe(autoprefix('last2version','safari5','ie8','ie9','opera12.1','ios6','android4')).pipe(gulp.dest(appBuilderDir));});gulp.t

javascript - 使用 Jasmine 测试 Angular Promise

以下测试一直失败,我不明白为什么?我正在尝试弄清楚如何使用Jasmine测试延迟/promise。错误Expectedundefinedtobe'ResolvedData'.测试describe('QueuedRepository',function(){varctrl,rootScope,scope,service;beforeEach(function(){module('testApp');inject(function($rootScope,$controller,TestSrvc){rootScope=$rootScope;scope=$rootScope.$new();se

javascript - Browserify 和 Babel gulp 任务

我想在我的JavaScript中同时使用Browserify和Babel。为此,我创建了一个gulp任务gulp.task('babel',function(){returngulp.src('_babel/*.js').pipe(browserify({insertGlobals:true})).pipe(babel({presets:['es2015']})).pipe(gulp.dest('_dev/js'));});不幸的是,当我想在我的代码中使用import时,出现错误:ParseError:'import'and'export'mayonlyappearatthetople

javascript - Jasmine:如何获取当前测试的名称

有没有办法获取当前运行的测试的名称?一些(高度简化的)代码可能有助于解释。我想避免在调用performTest时重复"test1"/"test2":describe("Mytestcategory",function(){functionperformTest(uniqueName,speed){varresult=functionUnderTest(uniqueName,speed);expect(result).toBeTruthy();}it("test1",function(){performTest("test1","fast");});it("test2",function