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.0instead of plain old
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.
ScalaTestFrameworkby allowing the formatted output generated by specification-style traits like
WordSpecto be seen by the user when running through sbt. Also enable color output.
SeveredStackTracesstack 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.
SeveredStackTracescan be helpful until such tools provide better support for ScalaTest.
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).
Conductoruses the result of calling
thread.getStatefor control flow, occasionally
Conductorcan produce incorrect results.
Suiteannotations 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.
Assertionsto provide a way to supply extra information in an exception thrown by
interceptor 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
===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