Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
stryker-karma-runner
Advanced tools
Readme
A plugin to use the karma test runner (or @angular/cli's ng test
) in Stryker, the JavaScript mutation testing framework
Install stryker-karma-runner locally within your project folder, like so:
npm i --save-dev stryker-karma-runner
The stryker-karma-runner
is a plugin for stryker
to enable karma
as a test runner.
However, it does not come packaged with it's own version of karma
, instead it
uses your very own karma version. It can also work with @angular/cli
, see Configuring
Note: karma v2.0.3 has a known issue which makes it impossible to use it with Stryker. please upgrade to 2.0.4 or higher.
You can configure the stryker-karma-runner
using the stryker.conf.js
config file.
// Stryker.conf.js
module.exports = function (config) {
config.set({
// ...
testRunner: 'karma',
// ...
karma: {
projectType: 'custom', // or 'angular-cli'
configFile: 'path/to/karma.conf.js' // default `undefined`
config: { // default `undefined`
browsers: ['ChromeHeadless'] // override config settings
}
}
});
}
karma.projectType
["custom"
| "angular-cli"
]Default: "custom"
Specify which kind of project you're using. This determines which command is used to start karma
"custom"
: configure stryker-karma-runner to use karma start
."angular-cli"
: configure stryker-karma-runner to use ng test
(see configuring for angular-cli).karma.configFile
[string
]Default: undefined
Specify a 'karma.conf.js' file to be loaded.
Options specified directly in your stryker.conf.js file using karma.config
will overrule options in your karma.conf.js file.
karma.config
[any
]Default: undefined
Specify karma configuration options directly. Options specified here will overrule any options in your karma.conf.js file.
karma.ngConfig.testArguments
[object
]Default: undefined
Add ng test arguments. For example, specify an alternative project with:
karma: {
projectType: 'angular-cli',
ngConfig: {
testArguments: {
project: 'my-lib'
}
}
}
This will run ng test with --project
argument: ng test --project=my-lib
.
The browser's life cycle is determined by stryker-karma-runner
. I.e. these settings cannot be overridden:
{
browserNoActivityTimeout: 1000000,
autoWatch: false,
singleRun: false,
detached: false
}
The coverage
plugin will also be removed (not needed for mutation testing).
Note: this requires v6.1.0-rc0 or higher of the @angular/cli
This is an example for a configuration of stryker using the angular cli:
// stryker.conf.js
exports = function(config){
config.set({
// ...
karma: {
projectType: 'angular-cli',
karma: {
configFile: 'src/karma.conf.js'
},
ngConfig: {
// Override ng arguments here
testArguments: {
project: 'my-lib'
}
}
}
// ...
});
}
As Stryker runs karma in its own process, its logging output will be consumed by Stryker.
To see all logging from karma, set the log level to trace
in stryker.conf.js
.
// stryker.conf.js
exports = function(config){
config.set({
// ...
logLevel: 'trace'
// ...
});
}
FAQs
A plugin to use the karma test runner in Stryker, the JavaScript mutation testing framework
The npm package stryker-karma-runner receives a total of 11 weekly downloads. As such, stryker-karma-runner popularity was classified as not popular.
We found that stryker-karma-runner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.