J'essaye d'écrire du code de test pour mon application Java en utilisant Scalatest. J'ai pensé, puisque Scala a une syntaxe beaucoup plus lisible, il en résulterait un code de test plus lisible.Façons d'améliorer ce code
Jusqu'à présent, ce que je réussi:
package com.xyz import org.scalatest.FlatSpec import org.scalatest.matchers.ShouldMatchers import com.xyz.SecurityService import org.mockito.Mockito._ import org.scalatest.mock.MockitoSugar import org.mockito.Matchers._ import javax.servlet.jsp.tagext.Tag class CheckRoleTagSpec extends FlatSpec with ShouldMatchers with MockitoSugar { behavior of "CheckRole tag" it should "allow access when neither role nor root defined" in { val securityServiceMock = mock[SecurityService] val tag = new CheckRoleTag() tag.setSecurityService(securityServiceMock) tag.setGroup("group") tag.setPortal("portal") tag.setRoot(false) tag.setRole(null) tag.doStartTag should be(Tag.SKIP_BODY) } }
Je suis très déçu par ce code. C'est pratiquement la même chose que je devrais écrire en Java. S'il vous plaît aidez-moi à le rendre plus scala-like et fonctionnel.
Qu'est-ce que vous déçoit exactement? Je pense que c'est la chose 'tag.set ...', donc vous devez refactoriser le 'CheckRoleTag' et peut-être le' SecurityService'. –
@ michael.kebe La chose est que je ne veux pas changer mon code Java afin de le tester à partir de scala. Je veux que Java ressemble toujours à Java. –
Un constructeur ou un vrai constructeur pour CheckRoleTag rendrait votre Java et Scala meilleur! –