【发布时间】:2011-04-13 16:43:04
【问题描述】:
我正在尝试使用 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 的 ShouldMatchers 扩展 FlatSpec { “CheckRole 标签”的行为 它应该“在既没有定义角色也没有定义根时允许访问”{ val securityServiceMock = mock[SecurityService] val 标记 = 新 CheckRoleTag() tag.setSecurityService(securityServiceMock) tag.setGroup("组") tag.setPortal("传送门") tag.setRoot(假) tag.setRole(null) tag.doStartTag 应该是(Tag.SKIP_BODY) } }我对这段代码很失望。这实际上与我需要用 Java 编写的内容相同。请帮助我使它更像 scala 和功能。
【问题讨论】:
-
究竟是什么让您失望了?我认为这是
tag.set...的事情,所以你必须重构CheckRoleTag,也许还有SecurityService。 -
@michael.kebe 问题是我不想更改我的 Java 代码以便从 scala 测试它。我希望 Java 看起来仍然像 Java。
-
CheckRoleTag 的构建器或真正的构造器将使您的 Java 和 Scala 变得更好!
-
这是一个 JSP 标签。它需要setter和getter,所有这些字段都是从JSP文件中设置的。
-
这是一个不幸的选择,试图使测试更性感:有些测试本质上是乏味和冗长的,不管是什么语言。
标签: unit-testing scala scalatest