Skip to content

arieslab/jnose

Repository files navigation

JNose

Web tool for automatic Test Smells detection and code coverage metrics in Java projects.

Features

  • Detects 21 test smells in JUnit test code
  • Collects code coverage metrics via JaCoCo
  • Supports JUnit 3, 4, and 5
  • Web interface built with Apache Wicket
  • Git integration for evolution analysis
  • CSV export of results

Quick Start

Quick Run (Linux)

Standalone JAR (embedded Jetty)

curl -LO https://github.com/arieslab/jnose/releases/download/2.3.0/jnose-2.3.0-standalone.jar
java -jar jnose-2.3.0-standalone.jar

WAR (deploy to any servlet container)

curl -LO https://github.com/arieslab/jnose/releases/download/2.3.0/jnose-2.3.0.war
# Deploy to Tomcat/Jetty as usual

Using Docker

docker build -t jnose .
docker run -dp "8080:8080" jnose

Or pull from Docker Hub:

docker pull tassiovirginio/jnose
docker run -dp "8080:8080" tassiovirginio/jnose

Building from source

git clone https://github.com/arieslab/jnose
cd jnose
mvn clean package -DskipTests
java -jar target/jnose-2.3.0-standalone.jar

Maven Dependency

<dependency>
    <groupId>io.github.arieslab</groupId>
    <artifactId>jnose</artifactId>
    <version>2.3.0</version>
</dependency>

The project depends on jnose-core, available on Maven Central:

<dependency>
    <groupId>io.github.arieslab</groupId>
    <artifactId>jnose-core</artifactId>
    <version>0.9.0</version>
</dependency>

Tutorials

Papers

  • JNose: Java Test Smell Detector — Tássio Virgínio, Luana Almeida Martins, Larissa Rocha Soares, Railana Santana, Adriana Priscila Santos Cruz, Heitor Costa, Ivan Machado (2020): CBSoft 2020
  • An Empirical Study of Automatically-Generated Tests from the Perspective of Test Smells — Tássio Virgínio, Luana Martins, Larissa Soares, Railana Santana, Heitor Costa, Ivan Machado (2020): CBSoft 2020
  • Used to detect TestSmells and Coverage in (2019): ACM

Feature requests

Please, feel very welcome to create new issues on this repository to request new features and report bugs.

Contributors

Contributing

  • Create an issue on this repository
  • Fork this repository
  • Create a branch and link the name to the related issue
  • Commit and push
  • Open a Pull Request

Contact

License

Apache License 2.0

Packages

 
 
 

Contributors

Languages