AutoRollback
Automatic Rollback support for 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.AutoRollback like this:
import org.specs2.Specification
import scalikejdbc.specs2.AutoRollback
class MemberSpec extends Specification { def is =
"Member should create a new record" ! autoRollback().create ^
"LegacyAccount should create a new record" ! db2AutoRollback().create
end
case class autoRollback() extends AutoRollback {
def create = this {
Member.create(1, "Alice")
Member.find(1).isDefined must beTrue
}
}
case class db2AutoRollback() extends AutoRollback {
override def db() = NamedDB('db2).toDB
def create = this {
LegacyAccount.create(2, "Bob")
LegacyAccount.find(2).isDefined must beTrue
}
}
}
trait AutoRollbackLike
trait LoanPattern
trait After
trait Context
trait Scope
trait Scope
class Object
trait Matchable
class Any
Type members
Inherited types
Value members
Inherited methods
Creates a scalikejdbc.DB instance.
Creates a scalikejdbc.DB instance.
- Returns
DB instance
- Inherited from
- AutoRollbackLike
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