org.scalatest:scalatest_3

3.2.19last stable release 7 months ago
Complexity Score
High
Open Issues
512
Dependent Projects
532

License

  • Apache-2.0
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Yespatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant
  • CERN-OHL-P-2.0

    Readme

    ScalaTest

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

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

    Using ScalaTest

    Setup

    Please visit Download and Setup for download and setup instructions.

    Quick Start

    Please visit Quick Start for steps to get started quickly.

    Building ScalaTest

    Pre-Requisites

    The followings are needed for building ScalaTest:

    • JDK 8
    • SBT 1.3.13

    use the following SBT options instead:

    SBT_OPTS="-Xms512M -Xmx3000M -Xss1M -XX:NewRatio=8"
    

    Building and Running Tests

    This command will build and run the regular tests:

    $ sbt test

    To include flicker tests, you’ll need to set environment variable SCALATEST_RUN_FLICKER_TESTS=true:

    > export SCALATEST_RUN_FLICKER_TESTS=true
    > sbt test
    

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

    $ rm -rf gentests
    $ sbt gentests/test
    

    You can also run different groups generated tests separately:

    $ rm -rf gentests
    $ sbt genMustMatchersTests1/test
    $ sbt genMustMatchersTests2/test
    $ sbt genMustMatchersTests3/test
    $ sbt genMustMatchersTests4/test
    $ sbt genGenTests/test
    $ sbt genTablesTests/test
    $ sbt genInspectorsTests/test
    $ sbt genInspectorsShorthandsTests1/test
    $ sbt genInspectorsShorthandsTests2/test
    $ sbt genTheyTests/test
    $ sbt genContainTests1/test
    $ sbt genContainTests2/test
    $ sbt genSortedTests/test
    $ sbt genLoneElementTests/test
    $ sbt genEmptyTests/test
    

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

    To run scala-js tests:

    $ sbt scalatestAppJS/clean
    $ sbt scalacticTestJS/test:compile
    $ sbt scalacticTestJS/test
    $ sbt scalatestTestJS/test:compile
    $ sbt scalatestTestJS/test
    

    To run scala-native tests:

    $ sbt -Dscalatest.skip.jdk.check=true ++2.11.12 scalatestAppNative/clean
    $ sbt -Dscalatest.skip.jdk.check=true ++2.11.12 scalacticTestNative/test:compile
    $ sbt -Dscalatest.skip.jdk.check=true ++2.11.12 scalacticTestNative/test
    $ sbt -Dscalatest.skip.jdk.check=true ++2.11.12 scalatestTestNative/test:compile
    $ sbt -Dscalatest.skip.jdk.check=true ++2.11.12 scalatestTestNative/test
    

    Building Examples

    You can build examples project using this command:

    $ sbt examples/compile

    Packaging

    You can package the ScalaTest JAR file using this command:

    $ sbt package

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

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

    $ sbt publishLocal

    Or publish it to local maven repository using this command:

    $ sbt publishM2

    Publishing

    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
    host=oss.sonatype.org
    user=xxxxxxxx
    password=xxxxxxxx
    

    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.

    Before publishing any patch release, binary compatibility with previous version should be checked:

    $ sbt ++2.11.12 scalactic/package scalactic/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestCore/package scalatestCore/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFeatureSpec/package scalatestFeatureSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFlatSpec/package scalatestFlatSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFreeSpec/package scalatestFreeSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFunSuite/package scalatestFunSuite/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFunSpec/package scalatestFunSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestPropSpec/package scalatestPropSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestRefSpec/package scalatestRefSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestWordSpec/package scalatestWordSpec/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestDiagrams/package scalatestDiagrams/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestMatchersCore/package scalatestMatchersCore/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestShouldMatchers/package scalatestShouldMatchers/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestMustMatchers/package scalatestMustMatchers/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalacticJS/package scalacticJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestCoreJS/package scalatestCoreJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFeatureSpecJS/package scalatestFeatureSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFlatSpecJS/package scalatestFlatSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFreeSpecJS/package scalatestFreeSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFunSuiteJS/package scalatestFunSuiteJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestFunSpecJS/package scalatestFunSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestPropSpecJS/package scalatestPropSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestWordSpecJS/package scalatestWordSpecJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestDiagramsJS/package scalatestDiagramsJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestMatchersCoreJS/package scalatestMatchersCoreJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestShouldMatchersJS/package scalatestShouldMatchersJS/mimaReportBinaryIssues
    $ sbt ++2.11.12 scalatestMustMatchersJS/package scalatestMustMatchersJS/mimaReportBinaryIssues
    
    $ sbt ++2.12.17 scalactic/package scalactic/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestCore/package scalatestCore/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFeatureSpec/package scalatestFeatureSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFlatSpec/package scalatestFlatSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFreeSpec/package scalatestFreeSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFunSuite/package scalatestFunSuite/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFunSpec/package scalatestFunSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestPropSpec/package scalatestPropSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestRefSpec/package scalatestRefSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestWordSpec/package scalatestWordSpec/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestDiagrams/package scalatestDiagrams/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestMatchersCore/package scalatestMatchersCore/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestShouldMatchers/package scalatestShouldMatchers/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestMustMatchers/package scalatestMustMatchers/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalacticJS/package scalacticJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestCoreJS/package scalatestCoreJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFeatureSpecJS/package scalatestFeatureSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFlatSpecJS/package scalatestFlatSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFreeSpecJS/package scalatestFreeSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFunSuiteJS/package scalatestFunSuiteJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestFunSpecJS/package scalatestFunSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestPropSpecJS/package scalatestPropSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestWordSpecJS/package scalatestWordSpecJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestDiagramsJS/package scalatestDiagramsJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestMatchersCoreJS/package scalatestMatchersCoreJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestShouldMatchersJS/package scalatestShouldMatchersJS/mimaReportBinaryIssues
    $ sbt ++2.12.17 scalatestMustMatchersJS/package scalatestMustMatchersJS/mimaReportBinaryIssues
    
    $ sbt ++2.13.12 scalactic/package scalactic/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestCore/package scalatestCore/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFeatureSpec/package scalatestFeatureSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFlatSpec/package scalatestFlatSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFreeSpec/package scalatestFreeSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFunSuite/package scalatestFunSuite/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFunSpec/package scalatestFunSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestPropSpec/package scalatestPropSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestRefSpec/package scalatestRefSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestWordSpec/package scalatestWordSpec/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestDiagrams/package scalatestDiagrams/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestMatchersCore/package scalatestMatchersCore/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestShouldMatchers/package scalatestShouldMatchers/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestMustMatchers/package scalatestMustMatchers/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalacticJS/package scalacticJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestCoreJS/package scalatestCoreJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFeatureSpecJS/package scalatestFeatureSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFlatSpecJS/package scalatestFlatSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFreeSpecJS/package scalatestFreeSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFunSuiteJS/package scalatestFunSuiteJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestFunSpecJS/package scalatestFunSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestPropSpecJS/package scalatestPropSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestWordSpecJS/package scalatestWordSpecJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestDiagramsJS/package scalatestDiagramsJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestMatchersCoreJS/package scalatestMatchersCoreJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestShouldMatchersJS/package scalatestShouldMatchersJS/mimaReportBinaryIssues
    $ sbt ++2.13.12 scalatestMustMatchersJS/package scalatestMustMatchersJS/mimaReportBinaryIssues
    

    To publish scalatest modules for jvm, js, native and dotty, use the following commands:

    $ ./publish.sh
    

    Dependencies

    Loading dependencies...

    CVE IssuesActive
    0
    Scorecards Score
    4.60
    Test Coverage
    No Data
    Follows Semver
    Yes
    Github Stars
    1,155
    Dependenciestotal
    14
    DependenciesOutdated
    1
    DependenciesDeprecated
    0
    Threat Modelling
    No
    Repo Audits
    No

    Learn how to distribute org.scalatest:scalatest_3 in your own private Maven registry

    mvn install org.scalatest:scalatest_3
    Processing...
    Done

    15 Releases