我正在尝试使用Scalatest为我的Java应用程序编写一些测试代码。我认为,由于Scala的语法可读性强得多,因此它将产生更具可读性的测试代码。

到目前为止,这是我管理的:

软件包com.xyz

导入org.scalatest.FlatSpec
导入org.scalatest.matchers.ShouldMatchers
导入com.xyz.SecurityService
导入org.mockito.Mockito._
导入org.scalatest.mock.MockitoSugar
导入org.mockito.Matchers._
导入javax.servlet.jsp.tagext.Tag

CheckRoleTagSpec类通过MockitoSugar {

CheckRole标签的行为

{
val securityServiceMock =模拟[SecurityService]

val tag = new CheckRoleTag()
tag.setSecurityService(securityServiceMock)

tag.setGroup(“group”)
tag.setPortal(“portal”)

tag.setRoot(false)
tag.setRole(null)

tag.doStartTag应该是(Tag.SKIP_BODY)
}

}

我对这段代码感到非常失望。实际上,我需要用Java编写相同的内容。请帮助我使其更像Scala且实用。

最佳答案

下面的代码创建了一个新的匿名类,但是doStartTag返回了预期的结果:

...
(new CheckRoleTag{
   setSecurityService(mock[SecurityService])
   setGroup("group")
   setPortal("portal")
   setRoot(false)
   setRole(null)
} doStartTag) should be(Tag.SKIP_BODY)
...

关于unit-testing - 改进此代码的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3735015/

10-14 13:11
查看更多