title: Calling Super Method in Scala
body: <p>I came across this code when writing test cases in specs2.</p>
  
  <pre><code>abstract class WithDbData extends WithApplication {
    override def around[T: AsResult](t: =&gt; T): Result = super.around {
      setupData()
      t
    }
  
    def setupData() {
      // setup data
    }
  }
  
  "Computer model" should {
  
    "be retrieved by id" in new WithDbData {
      // your test code
    }
    "be retrieved by email" in new WithDbData {
      // your test code
    }
  }
  </code></pre>
  
  <p>Here  is the <a href="https://www.playframework.com/documentation/2.5.x/ScalaFunctionalTestingWithSpecs2#withapplication" rel="nofollow">link</a>.
  Please explain how <code>super.around</code> works in this case?</p>