Bonjour,
object webSocketSpec extends MessagingSpec with RestCall {
override def is: SpecStructure = "Specification to check the messaging".title ^ sequential ^
s2"""
UserCreatedMessage ${e1.pendingUntilFixed}
"""
override def userId: UserId = PostUser("user1")
override def token: String = postSession("admin")
def e1 = todo
}
abstract class MessagingSpec extends TestKit(ActorSystem("messagingTests"))
with ImplicitSender
with SpecificationLike
with ClassLogging {
def userId: UserId
def token: String
....
}
lorsque j'exécute la spécification, je constate que le contenu de l'ID utilisateur et du token est nul, car l'exécution des deux méthodes postUser
et postSession
n'est pas encore terminée.
y a-t-il des propositions pour attendre la fin des deux méthodes et prendre les bonnes valeurs ?
@targetName
: http://dotty.epfl.ch/docs/reference/other-new-features/targetName.html
Je voie parfois des colegue qui essais de gere les cas de trait scelle avec des asInstanceOf[Cas]
a la
val a = x.asInstanceOf[Cas1]
val r = doSomething(a)
es-ce qu'une utilisation similiare en for-comprention vous choque ?
Avec une methode qui retourne une Monad Erreur
val r = for {
a <- x.get[Cas1]("Nope")
} yield {
doSomething(a)
}
sbt "test:runMain scripts.MonScript"
.
scripts/scala
et pouvoir lancer mes scripts depuis sbt "scripts:runMain scripts.MonScript"