Giter VIP home page Giter VIP logo

stryker4s's Introduction

Maven Central Build status Mutation testing badge Slack Chat BCH compliance

stryker-80x80

Stryker4s

Professor X: For someone who hates mutants... you certainly keep some strange company.
William Stryker: Oh, they serve their purpose... as long as they can be controlled.

Note: this project is still very much in early development and (probably) not ready to reliably be used in large projects!

Despite that, we'd be happy to help you out if you run into any problems or have any questions ๐Ÿ˜.

Introduction

For an introduction to mutation testing and Stryker's features, see stryker-mutator.io. Looking for mutation testing in JavaScript or .NET?

Getting Started

For the quickstart, see our website's quickstart.

Stryker4s is a mutation testing framework for Scala. It allows you to test your tests by temporarily inserting bugs. Depending on your project setup, there are multiple ways to get started with Stryker4s.

Sbt plugin

Stryker4s provides a sbt plugin for easy use within sbt projects. To install the plugin, add the following line to plugins.sbt Maven Central:

addSbtPlugin("io.stryker-mutator" % "sbt-stryker4s" % stryker4sVersion)

After adding the plugin, Stryker4s can be used by running sbt stryker in the root of your project.

Multi-module projects

Multi-module projects are not yet fully supported. However, there is a workaround you can use while we work on a better solution. Set the base-directory to the correct directory of the submodule with the base-dir configuration setting. Then you can run sbt "project yourSubmoduleNameHere" stryker to set the active project and run Stryker4s.

Maven plugin

The Maven plugin can be added as follows in pom.xml under <plugins> Maven Central:

<plugin>
    <groupId>io.stryker-mutator</groupId>
    <artifactId>stryker4s-maven-plugin</artifactId>
    <version>${stryker4s.version}</version>
</plugin>

You can then run Stryker4s with the command mvn stryker4s:run. Note that this is different than the command for the sbt plugin.

Pre-release versions

We also publish SNAPSHOT versions of each commit on master. To use a pre-release, add the following setting to your plugins.sbt:

resolvers += Resolver.sonatypeRepo("snapshots")

Then replace the Stryker4s version with this version: Sonatype Nexus (Snapshots).

Configuration

See the configuration page for setting up your stryker4s.conf file (optional).

Supported mutators

Stryker4s supports a variety of mutators, which can be found here. Do you have a suggestion for a (new) mutator? Feel free to create an issue!

An always up-to-date reference is also available in the MutantMatcher source.

Changelog

See the releases page for all the latest changes made.

Contributing

Want to contribute? That's great! Please have a look at our contributing guide.

stryker4s's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.