【问题标题】:How to make Spock scan for Specification in dependencies如何让 Spock 扫描依赖项中的规范
【发布时间】:2017-03-02 16:27:38
【问题描述】:

我正在制作一个包含多个客户端应用程序的核心框架。框架的客户端必须设置某些配置值才能使框架正常运行。框架中有一系列 Spock 规范文件,用于验证配置是否合适。

在客户端中,可以对每个单独的规范文件进行子类化,一切都很好。但是,客户端必须知道每个规范文件的名称,并且如果有新的或重命名的规范文件,则必须保持最新状态。有没有办法让 Spock 自动扫描依赖项中的规范文件?

【问题讨论】:

  • 你的问题我不清楚。当您说“规范”时,您是指 Spock 类 Specification 还是这个词只是巧合?你正在开发什么样的框架?测试框架?除了 Spock 已经提供的,您还需要什么?在这种情况下,“客户”是什么意思。我会非常感谢一些实际的代码,而不仅仅是抽象的理论。这里有太多变数会阻止读者理解这个问题。
  • @kriegaex:感谢您的澄清。我对这个问题做了一些更新,但直接回答一些问题可能更容易。它们是 Spock 规范类。该框架是特定于我的领域的通用框架,它是客户端直接使用的代码,但也有测试。 “客户端”是导入框架 JAR 并使用它的代码。
  • 这是否意味着您将 Spock 测试类与生产代码混合在一起?或者您在运行时使用 Spock 作为工具?我还是不完全明白。对不起,没有任何代码,我离开了这里。祝你好运。恕我直言:对于拥有 13k 声誉的用户,我希望他知道如何在 SO 上提出问题。

标签: java spock


【解决方案1】:

我不得不承认,我也没有完全理解这个问题,但会尽力提供帮助。当涉及到 Spock 规范时,它们实际上并没有被 spock 引擎扫描。

它就像 JUnit(我想你对它很熟悉 :))——测试用例由一些外部程序运行。它可以是扫描并找到所有相关类的 maven surefire 插件或 IDE,但它不是 JUnit 的工作。 实际上,spock 也是如此,它开始了它的魔力,并且有点“接受”规范作为输入参数。

您仍然可以通过创建自己的Spock extension 来创建监听器来跟踪规范执行,仅此而已。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2019-03-21
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    相关资源
    最近更新 更多