Giter Club home page Giter Club logo

stryker4k's Introduction

PLEASE NOTE: This project is currently still being setup and the installation instructions found below will not work yet. With the 0.1.0 release all will work as described below.

stryker-80x80

Stryker4k

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.

Introduction

Stryker4k offers you mutation testing for your Kotlin projects. It allows you to test your tests by temporarily inserting changes to your code. Your tests should be able to detect these changes.

Detailed documentation on Mutation testing and Stryker can be found on the Stryker Mutator website.

Getting Started

To get started using Stryker4k on your Kotlin projects using Gradle, please follow the steps bellow. If your Kotlin project does not use Gradle, please read the alternative installation steps on our Getting started page.

1 Install

Please install on your project by adding Stryker4k to your build tool configuration file. With Gradle that means you add this too your build.gradle.kts

plugins {
    // Your project's other plugins go here
    id("io.stryker-mutator.stryker4k") version stryker4kVersion
}

2 Configure

By default Stryker4k is configured for projects using Gradle.

For projects using other build tools or for a more optimized Gradle experience, you can add a file called stryker-conf.json too your project root. This file should look something like this:

{
    "command": "./gradlew test --rerun-tasks"
}

"gradlew test --rerun-tasks" is where your custom command your project uses for running your tests should go.

For more information on this topic please visit our configuration page.

3 Run

Please run Stryker4k by running command in your projects root folder.

stryker4k's People

Contributors

hugo-vrijswijk avatar nickmanbear avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

stryker4k's Issues

Add regex mutator with weapon regex

Weapon Regex

Original Mutated
^abc abc
abc$ abc
[abc] [^abc]
[^abc] [abc]
\d \D
\D \d
\s \S
\S \s
\w \W
\W \w
a? a
a* a
a+ a
a{1,3} a
a*? a
a+? a
a{1,3}? a
a?+ a
a*+ a
a++ a
a{1,3}+ a
(?=abc) (?!abc)
(?!abc) (?=abc)
(?<=abc) (?<!abc)
(?<!abc) (?<=abc)
\p{Alpha} \P{Alpha} ¹
\P{Alpha} \p{Alpha} ¹
\P{Alpha} \p{Alpha} ¹

Build is failing at complie time

Hello Contributor,

I tried to run Stryker4K project by command line but it's not working.. So I pick required module like "command-runner, core, and gradle-runner" from this repo and put into my kotlin project. But getting below error

Error resolving plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.7.21', apply: false] The request for this plugin could not be satisfied because the plugin is already on the classpath with an unknown version, so compatibility cannot be checked.

Also, I noticed this repo is not ready for use yet that is mentioned on readMe.md page and didn't see any PR/update after Dec 2022.

So, should I consider that project is not ready or it's on hold state?

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.