MUnit is a lightweight testing library. It provides a single style for writing tests, a style that can be learned quickly.
Despite its simplicity, MUnit has useful features such as:
- assertions to verify the behavior of the program
- fixtures to ensure that the tests have access to all the necessary resources
- asynchronous support, for testing concurrent and distributed applications.
MUnit produces actionable error reports, with diff and source location, to help you quickly understand failures.
Testing is essential for any software development process because it helps catch bugs early, improves code quality and facilitates collaboration.
You can require the entire toolkit in a single line:
//> using toolkit latest
MUnit, being a testing framework, is only available in test files: files in a test
directory or ones that have the .test.scala
extension. Refer to the Scala CLI documentation to learn more about the test scope.
Alternatively, you can require just a specific version of MUnit:
//> using dep org.scalameta::munit:1.1.0
In your build.sbt file, you can add the dependency on toolkit-test:
lazyvalexample=project.in(file(".")).settings(scalaVersion:="3.4.2",libraryDependencies+="org.scala-lang"%%"toolkit-test"%"0.7.0"%Test)
Here the Test
configuration means that the dependency is only used by the source files in src/test
.
Alternatively, you can require just a specific version of MUnit:
libraryDependencies+="org.scalameta"%%"munit"%"1.1.0"%Test
In your build.sc file, you can add a test
object extending Tests
and TestModule.Munit
:
objectexampleextendsScalaModule{defscalaVersion="3.4.2"objecttestextendsTestswithTestModule.Munit{defivyDeps=Agg(ivy"org.scala-lang::toolkit-test:0.7.0")}}
Alternatively, you can require just a specific version of MUnit:
ivy"org.scalameta::munit:1.1.0"