unit-testing - 为什么Spock Framework推荐使用SUS,但是在任何例子中都没有这个缩写?

标签 unit-testing testing groovy spock

Spock 框架声明我们应该使用 SUS 缩写来测试实体,但从未使用它本身。

这是文档中的一小部分:Spock Terminology

这里是来自 GitHub 的 Spock 官方示例

什么是正确的?

例如:

class EmptyStackSpec extends Specification {
  def stack = new Stack()

  def "size"() {
    expect: stack.size() == 0
  }
}

class EmptyStackSpec extends Specification {
  def sus = new Stack()

  def "size"() {
    expect: sus.size() == 0
  }
}

所以,我很困惑。如果没有人使用它,为什么它会出现在文档中?

最佳答案

如果你想指出正在测试的类,Spock 有 @Subject注释。您链接的段落并不意味着您实际上应该调用字段/变量 sus,而是它为您提供了以抽象方式谈论它的术语。如果您实际编写规范,使用更具描述性的名称通常更有帮助。

关于unit-testing - 为什么Spock Framework推荐使用SUS,但是在任何例子中都没有这个缩写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59283232/

相关文章:

java - 可以在不模拟迭代器的情况下模拟 DirectoryStream<Path> 吗?

scala - 使用依赖注入(inject)测试带有 SecureSocial 的 Play2 应用程序

testing - 范围报告插件不适用于 testng + cucumber

groovy - 如何将闭包的值返回到方法中

java - Gradle 任务未按要求运行(编译前)

java - java 中的单元测试 Web 应用程序?

unit-testing - CPPUnit 与 CPPUnit2

unit-testing - 在 Controller 单元测试中 stub 自定义TagLib方法

reactjs - 无法通过 Jest ​​快照匹配

java - 在我重新启动机器后,Grails 项目经常在 Eclipse 中变得未配置