The goal of the 1.4.1 release is to provide a smooth transition to Scala 2.9.0 for ScalaTest users. It is identical to 1.3 except for changes required to get it to compile as 1.4.1 under Scala 2.9.0, plus one bug fix to the build to ensure the Java portions are cross-compiled for JDK 1.5.
scalatest_2.9.0
instead of plain old scalatest
.Note: What happened to 1.4 you ask? We were given an early access release of Scala 2.9.0, so that ScalaTest could be recompiled for it early. We quietly deployed 1.4 so that other projects could be built prior to the official announcement that Scala 2.9.0 was ready. We didn't announce it, but nevertheless someone could have run across it and downloaded it. One day later, we got a brand new Scala 2.9.0. They had fixed a couple show-stopper bugs. We needed to redeploy, so we bumped the version number up to 1.4.1 in case someone had found 1.4 in the meantime. That 1.4 release was then removed from scala-tools.org.
ScalaTestFramework
by allowing the formatted
output generated by specification-style traits like Spec
or WordSpec
to be seen by the
user when running through sbt. Also enable color output.SeveredStackTraces
stack traces trait that violently chops off test-related stack traces just above the
offending line of test code. Although ScalaTest's exception types provide sufficient information to do this when presenting a
stack trace to the user, some tools (such as IDEs that run ScalaTest via JUnit) don't use this information yet and therefore show
the full stack trace. SeveredStackTraces
can be helpful until such tools provide better support for
ScalaTest.BeforeAndAfterEachFunctions
and BeforeAndAfterAllFunctions
, which offer a more concise form
of before and after functionality (but which can't be stacked or provide access to a config map).Conductor
uses the result of calling thread.getState
for control flow,
occasionally Conductor
can produce incorrect results.Suite
annotations that are themselves annotated with org.scalatest.TagAnnotation
. This
is a breaking change that was marked as deprecated since 1.0, and the deprecation cycle has ended.withClue
to Assertions
to provide a way to supply extra information in an exception thrown by intercept
or a ScalaTest matcher expression.assert(a1 === a2)
compare arrays structurally. In matcher expressions, the ===
operator means equality in terms
of invoking ==
, except for arrays, for which ==
checks that the two arrays are the same instance. For arrays, ScalaTest
matchers passes the two arrays to java.util.Arrays.deepEquals
. Now ===
has the same behavior for arrays when used in
an assertion. As a result, the ===
operator now always compares arrays structurally no matter how it is used in ScalaTest. Note, this
change would break any code that was intentionally using ===
to ensure two arrays are the same instance in an assert
. It is
likely no one was actually doing that, but if so, this will show up as a failed test and that code will need to be
changed to assert(a1 eq a2)
. (Sorry, there was no way to deprecate a particular use of ===
.)
ScalaTest is brought to you by Bill Venners and Artima.
ScalaTest is free, open-source software
released under the Apache
2.0 license.
If your company loves ScalaTest, please consider sponsoring the project.
Copyright © 2009-2025 Artima, Inc. All Rights Reserved.