Попытка сделать некоторые TDD во время обучения playframework:ScalaTest PlayFramework
class ContentFetching extends PlaySpec with BeforeAndAfter with MockFactory
{
private val service = ContentService
private val languages = List(Language(Some(1), "en", "English", "Placeholder"),
Language(Some(2), "de", "Deutsch", "Platzhalter")
)
"find" must
{
"fail if languageCode is invalid" in
{
val fakeRepository = mock[LanguageRepositoryTrait]
(fakeRepository.get _).expects().returning(languages)
fakeRepository.get must have length 3
service.find("fr") must be Result.NotFound
}
}
}
ContentService бы назвать:
def fourOhFour() = NotFound(s"Oops, content could not be found")
еще утверждение service.find("fr") must be Result.NotFound
не будет компилировать. Почему это и как проверить это? Полный контентСервис (по запросу) К сожалению, в настоящее время он расширяет Controller, потому что я не нашел другого способа вернуть Action. На самом деле я использую MVC, а служба + хранилищу слой, а также:
class ContentServiceComponent(languageRepository: LanguageRepositoryTrait, nodeRepository: NodeRepositoryTrait) extends Controller
{
def find(language: String) = Action
{
languageRepository.get().map(l => l.code).contains(language) match
{
case true => Ok(s"Homepage for $language")
case false => fourOhFour()
}
}
def fourOhFour() = NotFound(s"Oops, content could not be found")
}
object ContentService extends ContentServiceComponent(LanguageRepository, NodeRepository)
Is ContentServices Контроллер? Не могли бы вы опубликовать этот клас или, по крайней мере, найти метод – salc2
Это, хотя я бы предпочел, чтобы это не было, поскольку это еще один слой, который я добавил для развязки. Я добавил класс – Sorona
, что ошибка компилятора? – pedrorijo91