AutoRollback

trait AutoRollback extends After with AutoRollbackLike

Automatic Rollback support for mutable specs2.

If you want to test this Member object,

import scalikejdbc._

object Member {
 def create(id: Long, name: String)(implicit session: DBSession = AutoSession) {
   SQL("insert into members values (?, ?)".bind(id, name).update.apply()
 }
}

Use scalikejdbc.specs2.mutable.AutoRollback like this:

import org.specs2.mutable._
import scalikejdbc.specs2.mutable.AutoRollback

trait DB2AutoRollback extends AutoRollback {
 override def db() = NamedDB('db2).toDB
}

object MemberSpec extends Specification {
 "Member should create a new record" in new AutoRollback {
   Member.create(1, "Alice")
   Member.find(1).isDefined must beTrue
 }
 "LegacyAccount should create a new record" in new DB2AutoRollback {
   LegacyAccount.create(2, "Bob")
   LegacyAccount.find(2).isDefined must beTrue
 }
}
trait LoanPattern
trait After
trait DelayedInit
trait After
trait Context
trait Scope
trait Scope
class Object
trait Matchable
class Any

Type members

Inherited types

type Closable = { def close(): Unit; }
Inherited from
LoanPattern

Value members

Inherited methods

override def after: Any
Definition Classes
Inherited from
AutoRollbackLike
def andThen(a: After): After
Inherited from
After
def apply[T](a: => T)(implicit AsResult[T]): Result
Inherited from
After
def compose(a: After): After
Inherited from
After
def db(): DB

Creates a scalikejdbc.DB instance.

Creates a scalikejdbc.DB instance.

Returns

DB instance

Inherited from
AutoRollbackLike
override def delayedInit(x: => Unit): Unit
Definition Classes
After -> DelayedInit
Inherited from
After
def fixture(implicit session: DBSession): Unit

Prepares database for the test.

Prepares database for the test.

Value Params
session

db session implicitly

Inherited from
AutoRollbackLike
def futureUsing[R <: Closable, A](resource: R)(f: R => Future[A])(implicit ec: ExecutionContext): Future[A]

Guarantees a Closeable resource will be closed after being passed to a block that takes the resource as a parameter and returns a Future.

Guarantees a Closeable resource will be closed after being passed to a block that takes the resource as a parameter and returns a Future.

Inherited from
LoanPattern
def using[R <: Closable, A](resource: R)(f: R => A): A
Inherited from
LoanPattern

Inherited fields

val _db: DB
Inherited from
AutoRollbackLike

Implicits

Inherited implicits

implicit val session: DBSession
Inherited from
AutoRollbackLike