All Projects → dodie → Scott

dodie / Scott

Licence: mit
Never debug a test again: Detailed failure reports and hassle free assertions for Java tests - Power Asserts for Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Scott

Junit Dataprovider
A TestNG like dataprovider runner for JUnit with many additional features
Stars: ✭ 226 (+80.8%)
Mutual labels:  testing-tools, junit
JUnitPerf
API performance testing framework built using JUnit
Stars: ✭ 48 (-61.6%)
Mutual labels:  junit, testing-tools
zerocode-hello-world
Zerocode YAML and JSON based declarative steps hello world rest api testing example - soap, database
Stars: ✭ 18 (-85.6%)
Mutual labels:  assertions, junit
Expekt
BDD assertion library for Kotlin
Stars: ✭ 163 (+30.4%)
Mutual labels:  junit, assertions
Pandera
A light-weight, flexible, and expressive pandas data validation library
Stars: ✭ 506 (+304.8%)
Mutual labels:  testing-tools, assertions
Bats Core
Bash Automated Testing System
Stars: ✭ 2,820 (+2156%)
Mutual labels:  testing-tools, junit
karate
Test Automation Made Simple
Stars: ✭ 6,384 (+5007.2%)
Mutual labels:  assertions, testing-tools
Zunit
A powerful testing framework for ZSH projects
Stars: ✭ 140 (+12%)
Mutual labels:  testing-tools, assertions
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+4297.6%)
Mutual labels:  testing-tools, assertions
Kotest
Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing
Stars: ✭ 3,234 (+2487.2%)
Mutual labels:  testing-tools, assertions
Catch Exception
Stars: ✭ 137 (+9.6%)
Mutual labels:  junit, assertions
Junitparser
Parses JUnit/xUnit Result XML files with ease
Stars: ✭ 58 (-53.6%)
Mutual labels:  testing-tools, junit
scalatest-junit-runner
JUnit 5 runner for Scalatest
Stars: ✭ 30 (-76%)
Mutual labels:  junit, testing-tools
jdbdt
JDBDT: Java Database Delta Testing
Stars: ✭ 12 (-90.4%)
Mutual labels:  junit, testing-tools
Junit Extensions
JUnit5 extensions library including JUnit5 equivalents of some of the common JUnit4 rules: ExpectedException, TemporaryFolder etc
Stars: ✭ 39 (-68.8%)
Mutual labels:  testing-tools, junit
Assert
A collection of convenient assertions for Swift testing
Stars: ✭ 69 (-44.8%)
Mutual labels:  testing-tools, assertions
Nose Timer
A timer plugin for nosetests (how much time does every test take?)
Stars: ✭ 116 (-7.2%)
Mutual labels:  testing-tools
Nsubstitute
A friendly substitute for .NET mocking libraries.
Stars: ✭ 1,646 (+1216.8%)
Mutual labels:  testing-tools
Jaop
jaop is a gradle plugin base on javassist&asm for android aop
Stars: ✭ 115 (-8%)
Mutual labels:  asm
Ass Js
Assembler.js — X86_64 and Ethereum
Stars: ✭ 115 (-8%)
Mutual labels:  asm

License Maven Central Build Status Quality Gate Status

Scott Test Reporter for Maven and Gradle

Get extremely detailed failure messages for your tests without assertion libraries, additional configuration or changes on existing tests.

Scott in Action

As you can see, besides the usual assertion error, Scott reports the state changes and assignments in the test cases, nicely visualized on the source code of the test method.

Works well with other testing tools and frameworks, for example:

Supports Java 7+ (up to Java 13).

How to use

Just drop it into your project, and Scott will automatically enhance your test reports. You don't have to use its API or modify your existing tests to make it work.

Scott: All systems automated and ready. A chimpanzee and two trainees could run her.

Kirk: Thank you, Mr. Scott. I'll try not to take that personally.

Gradle

Add hu.advanceweb.scott-gradle-plugin to your build.gradle:

plugins {
  id "hu.advanceweb.scott-gradle-plugin" version "3.6.0"
}

Example projects:

Maven

Add the following to your pom.xml:

<build>
	<plugins>
		<!-- Add the Scott Plugin. -->
		<plugin>
			<groupId>hu.advancedweb</groupId>
			<artifactId>scott-maven-plugin</artifactId>
			<version>3.6.0</version>
			<executions>
				<execution>
					<goals>
						<goal>prepare-agent</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>
<dependencies>
	<!-- Add Scott as a dependency -->
	<dependency>
		<groupId>hu.advancedweb</groupId>
		<artifactId>scott</artifactId>
		<version>3.6.0</version>
		<scope>test</scope>
	</dependency>
</dependencies>

The scott-maven-plugin automatically configures maven-surefire-plugin and maven-failsafe-plugin to use Scott via the argLine project property. If you wish to further customize the argLine property for these plugins, you have to pass the managed argLine as well to ensure Scott works properly. For an example, check the following snippet that configures the surefire plugin to enable preview language features for Java:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <argLine>${argLine} --enable-preview</argLine>
    </configuration>
</plugin>

Example projects:

Cucumber

Scott for Cucumber tracks whole scenarios, and in case of a failure it prints the details of every step involved.

This feature provides valuable information if a test fails in a CI environment, as it can make it much easier to reproduce and fix browser-based tests, especially for flaky tests.

HTML

Example projects with Cucumber tests:

Wire it up manually

If you can't use the Gradle or Maven Plugin for some reason, you can do the necessary steps manually.

Configuration

In case you are not satisfied with the default tracking behavior, the Scott Maven Plugin and Gradle Plugin provides configuration options to fine-tune its behaviour.

Using Scott as an instrumentation library

Scott's instrumentation module can be invoked programmatically with fine-tuned instrumentation rules so you can build your own solution on top of Scott. For more information, check the user guide.

Changelog

See Releases.

Highlights from the latest releases:

Contributing

Contributions are welcome! Please make sure to visit the contribution and development guide for some important notes on how to build and debug Scott. If you are looking for issues that can get you started with the development, see Issues marked with the help-wanted tag.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].