我正在尝试使用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/