AfterWord

final protected class AfterWord(text: String)

Class whose instances are after words, which can be used to reduce text duplication.

If you are repeating a word or phrase at the beginning of each string inside a block, you can "move the word or phrase" out of the block with an after word. You create an after word by passing the repeated word or phrase to the afterWord method. Once created, you can place the after word after when, a verb (should, must, or can), or which. (You can't place one after in or is, the words that introduce a test.) Here's an example that has after words used in all three places:

import org.scalatest._

class ScalaTestGUISpec extends wordspec.AnyWordSpec {

 def theUser = afterWord("the user")
 def display = afterWord("display")
 def is = afterWord("is")

 "The ScalaTest GUI" when theUser {
   "clicks on an event report in the list box" should display {
     "a blue background in the clicked-on row in the list box" in {}
     "the details for the event in the details area" in {}
     "a rerun button" which is {
       "enabled if the clicked-on event is rerunnable" in {}
       "disabled if the clicked-on event is not rerunnable" in {}
     }
   }
 }
}

Running the previous AnyWordSpec in the Scala interpreter would yield:

scala> (new ScalaTestGUISpec).execute()
The ScalaTest GUI (when the user clicks on an event report in the list box)
- should display a blue background in the clicked-on row in the list box
- should display the details for the event in the details area
- should display a rerun button that is enabled if the clicked-on event is rerunnable
- should display a rerun button that is disabled if the clicked-on event is not rerunnable
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(f: => Unit): ResultOfAfterWordApplication

Supports the use of after words.

Supports the use of after words.

This method transforms a block of code into a ResultOfAfterWordApplication, which is accepted by when, should, must, can, and which methods. For more information, see the main documentation for trait AnyWordSpec.