在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):jasmine/gulp-jasmine-browser开源软件地址(OpenSource Url):https://github.com/jasmine/gulp-jasmine-browser开源编程语言(OpenSource Language):JavaScript 99.9%开源软件介绍(OpenSource Introduction):gulp-jasmine-browserRun jasmine tests in a browser or headless browser using gulp. DiscontinuedThe Installing
UsageGulp Jasmine Browser currently works with any synchronous method of loading files. The beginning examples all assume basic script loading. If you are using CommonJS to load files, you may want to skip to Usage with Webpack Create a Jasmine server to run specs in a browserIn var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
gulp.task('jasmine', function() {
return gulp.src(['src/**/*.js', 'spec/**/*_spec.js'])
.pipe(jasmineBrowser.specRunner())
.pipe(jasmineBrowser.server({port: 8888}));
}); In The jasmine server will run on the Watching for file changesTo have the server automatically refresh when files change, you will want something like gulp-watch. var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
var watch = require('gulp-watch');
gulp.task('jasmine', function() {
var filesForTest = ['src/**/*.js', 'spec/**/*_spec.js'];
return gulp.src(filesForTest)
.pipe(watch(filesForTest))
.pipe(jasmineBrowser.specRunner())
.pipe(jasmineBrowser.server({port: 8888}));
}); If you are using Webpack or Browserify, you may want to use their watching mechanisms instead of this example. Run jasmine tests headlesslyIn For Headless Chrome var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
gulp.task('jasmine-chrome', function() {
return gulp.src(['src/**/*.js', 'spec/**/*_spec.js'])
.pipe(jasmineBrowser.specRunner({console: true}))
.pipe(jasmineBrowser.headless({driver: 'chrome'}));
}); To use this driver, puppeteer must be installed in your project. For PhantomJs var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
gulp.task('jasmine-phantom', function() {
return gulp.src(['src/**/*.js', 'spec/**/*_spec.js'])
.pipe(jasmineBrowser.specRunner({console: true}))
.pipe(jasmineBrowser.headless({driver: 'phantomjs'}));
}); To use this driver, the PhantomJS npm package must be installed in your project. GulpJasmineBrowser assumes that if the package is not installed For SlimerJs var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
gulp.task('jasmine-slimer', function() {
return gulp.src(['src/**/*.js', 'spec/**/*_spec.js'])
.pipe(jasmineBrowser.specRunner({console: true}))
.pipe(jasmineBrowser.headless({driver: 'slimerjs'}));
}); To use this driver, the SlimerJS npm package must be installed in your project. Note the Usage with WebpackIf you would like to compile your front end assets with Webpack, for example to use commonjs style require statements, you can pipe the compiled assets into GulpJasmineBrowser. In var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
var webpack = require('webpack-stream');
gulp.task('jasmine', function() {
return gulp.src(['spec/**/*_spec.js'])
.pipe(webpack({watch: true, output: {filename: 'spec.js'}}))
.pipe(jasmineBrowser.specRunner())
.pipe(jasmineBrowser.server());
}); When using webpack, it is helpful to delay the jasmine server when the webpack bundle becomes invalid (to prevent serving javascript that is out of date). Adding the plugin to your webpack configuration, and adding the whenReady function to the server configuration enables this behavior. var gulp = require('gulp');
var jasmineBrowser = require('gulp-jasmine-browser');
var webpack = require('webpack-stream');
gulp.task('jasmine', function() {
var JasminePlugin = require('gulp-jasmine-browser/webpack/jasmine-plugin');
var plugin = new JasminePlugin();
return gulp.src(['spec/**/*_spec.js'])
.pipe(webpack({watch: true, output: {filename: 'spec.js'}, plugins: [plugin]}))
.pipe(jasmineBrowser.specRunner())
.pipe(jasmineBrowser.server({whenReady: plugin.whenReady}));
}); Optionsfor specRunnerconsoleGenerates a console reporter for the spec runner that should be used with a headless browser. profilePrints out timing information for your slowest specs after Jasmine is done. If used in the browser, this will print into the developer console. In headless mode, this will print to the terminal. for server and headless servercatchIf true, the headless server catches exceptions raised while running tests driverSets the driver used by the headless server findOpenPortTo force the headless port to use a specific port you can pass an option to the headless configuration so it does not search for an open port. gulp.task('jasmine', function() {
var port = 8080;
return gulp.src(['spec/**/*_spec.js'])
.pipe(jasmineBrowser.specRunner())
.pipe(jasmineBrowser.headless({port: 8080, findOpenPort: false}));
}); onCoverageCalled with the portSets the port for the server randomIf true, the headless server runs the tests in random order reporterProvide a custom reporter for the output, defaults to the jasmine terminal reporter. seedSets the randomization seed if randomization is turned on sourcemappedStacktraceEXPERIMENTAL asynchronously loads the sourcemapped stacktraces for better stacktraces in chrome and firefox. specOnly runs specs that match the given string throwFailuresIf true, the headless server fails tests on the first failed expectation DevelopmentGetting StartedThe application requires the following external dependencies: The rest of the dependencies are handled through: npm install Run tests with: npm test Note: npm install --global webdriver-manager
webdriver-manager update
webdriver-manager start (c) Copyright 2016 Pivotal Software, Inc. All Rights Reserved. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论