Estoy escribiendo una aplicación web usando Play 2, Salat (para binding mongoDB). Me gustaría probar algunos métodos, en el Modelo de la lección (por ejemplo, probar el hecho de que recupero la lección correcta por ID). El problema es que no quiero contaminar mi DB actual con lecciones ficticias. ¿Cómo puedo usar un DB falso usando Salat y Scala Test? Aquí hay uno de mis archivos de prueba. Crea dos lecciones, las inserta en el DB y ejecuta algunas pruebas en él.Cómo probar métodos basados en Salat con ScalaTest
LessonSpec extends FlatSpec with ShouldMatchers {
object FakeApp extends FakeApplication()
val newLesson1 = Lesson(
title = "lesson1",
level = 5,
explanations = "expl1",
questions = Seq.empty)
LessonDAO.insert(newLesson1)
val newLesson2 = Lesson(
title = "lesson2",
level = 5,
explanations = "expl2",
questions = Seq.empty)
LessonDAO.insert(newLesson2)
"Lesson Model" should "be retrieved by level" in {
running(FakeApp) {
assert(Lesson.findByLevel(5).size === 2)
}
}
it should "be of size 0 if no lesson of the level is found" in {
running(FakeApp) {
Lesson.findByLevel(4) should be(Nil)
}
}
it should "be retrieved by title" in {
running(FakeApp) {
Lesson.findOneByTitle("lesson1") should be(Some(Lesson("lesson1", 5, "expl1", List())))
}
}
}
He buscado en la web pero no puedo encontrar un buen enlace o proyecto que utilice Salat y ScalaTest.
Gracias por su respuesta, ¡ayudó mucho! Solo una cosa, para borrar cualquier información existente, puede usar este método: db.dropDatabase – TeaBough