Résolu. IntelliJ n'a pas souligné le fait que mes importations étaient incomplètes.Scala problème avec les attentes jMock et renvoyer une valeur de faux
Salut,
J'ai un programme simple Scala que je suis en train de développer en utilisant jMock. Définir les attentes de base fonctionne bien, mais pour une raison quelconque, Scala ne comprend pas ma tentative de retourner une valeur à partir d'un objet simulé. Mon build Maven vomit l'erreur suivante
TestLocalCollector.scala:45: error: not found: value returnValue
one (nodeCtx).getParameter("FilenameRegex"); will(returnValue(regex))
^
Et les extraits de code respectifs sont
@Before def setUp() : Unit = { nodeCtx = context.mock(classOf[NodeContext]) }
...
// the value to be returned
val regex = ".*\\.data"
...
// setting the expectations
one (nodeCtx).getParameter("FilenameRegex"); will(returnValue(regex))
Pour moi, il semble que Scala attend que la méthode jMock statique returnValue
serait un val
? Qu'est-ce que j'oublie ici?
Pouvez-vous laisser dans le commentaire la bonne syntaxe que vous avez utilisée? Je vais l'inclure dans ma réponse ci-dessous. – VonC
Voici les parties pertinentes, la méthode statique 'returnValue' n'était pas visible, donc les erreurs. Et la méthode 'will' enregistre juste une action sur la dernière opération fictive, c'est pourquoi elle peut être sur la ligne suivante ou après le point-virgule :) import org.jmock.Expectations import org.jmock.Expectations._ . .. context.checking (nouvelles attentes {{ oneOf (nodeCtx) .getParameter ("FilenameRegex") sera (returnValue ("* \\. données")) }}) – puudeli
merci. Un problème de portée alors. Avec les bonnes importations, cela fonctionne mieux. Réponse mise à jour – VonC