Programming language: Scala
Tags: Testing    
Latest version: v3.0.8

ScalaTest alternatives and similar packages

Based on the "Testing" category

Do you think we are missing an alternative of ScalaTest or a related project?

Add another 'Testing' Package



Build Status

ScalaTest is a free, open-source testing toolkit for Scala and Java programmers.

Official Website: http://www.scalatest.org/

Using ScalaTest


Please visit Download and Setup for download and setup instructions.

Quick Start

Please visit Quick Start for steps to get started quickly.

Building ScalaTest


The followings are needed for building ScalaTest:

for JDK 6 or 7, use the following options in your SBT launch file:

SBT_OPTS="-server -Xms512M -Xmx3000M -XX:MaxPermSize=512M -Xss1m -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:NewRatio=9 -XX:ReservedCodeCacheSize=100m"

for JDK 8, use the following SBT options instead:

SBT_OPTS="-server -Xms512M -Xmx3G -Xss1m -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:NewRatio=9 -XX:ReservedCodeCacheSize=100m"

Building and Running Tests

This command will build and run the regular tests:

$ sbt test

To run generated tests, you'll need to increase maximum heap size to -Xmx5000M, and use this command instead:

$ sbt gentests/test

What it does is simply switch to gentests project and run test.


You can package the ScalaTest JAR file using this command:

$ sbt package

The resulting JAR file will be produced in target/scala-2.10/.

You can also publish it to your local Ivy repository using this command:

$ sbt publishLocal

Or publish it to a local maven repository using this command:

$ sbt publishM2


To publish to Sonatype, you first need to make sure you have the following:

  • A GPG client is installed on your command line path. For more information, please refer to GNU Privacy Guard Website.
  • You have created your GPG keys and distributed your public key to hkp://pool.sks-keyservers.net/. For more information, please refer to How To Generate PGP Signatures With Maven.
  • You have been granted the right to publish using org.scalatest and org.scalactic domain.

By default, ScalaTest build will read your Sonatype credentials from ~/.ivy2/.credentials, which is a properties file that looks like this:

realm=Sonatype Nexus Repository Manager

You can use SCALATEST_NEXUS_LOGIN and SCALATEST_NEXUS_PASSWORD environment variables to override Sonatype credentials.

For signing, ScalaTest build will use ~/.gnupg/secring.gpg by default and prompt for GPG passphase if required. Alternatively you can use SCALATEST_GPG_FILE to use a different GPG file, and use SCALATEST_GPG_PASSPHASE to provide GPG passphase to avoid input prompt.

If you would like to export a particular private key into a separate GPG file, you can use the following command:

$ gpg --export-secret-keys example@example.com > example-secret-key.gpg

With Sonatype credentials and GPG file in place, you can now publish to Sonatype.

To publish ScalaTest, use the following command:

$ sbt publishSigned

To publish Scalactic, use the following command:

$ sbt scalactic/publishSigned