【问题标题】:Declare test wrapping other tests in Spock在 Spock 中声明测试包装其他测试
【发布时间】:2016-12-11 12:07:05
【问题描述】:

在我的应用程序中,我有一些想要进行集成测试的用例。用例交叉使用方面将指标发送到另一个系统。通常我会编写一个测试来测试用例行为,然后提取指标并对它们进行一些断言。但是,我不想在一个测试中混合验证用例和指标。我也不想为了验证指标而复制用例测试代码。

我正在考虑一种解决方案,它允许我以某种方式声明指标测试应该在相应的用例测试之后立即运行(以某种方式包装或与之混合)。用例测试不应该依赖于指标测试。 Spock/Junit 可以吗?

【问题讨论】:

    标签: testing junit spock


    【解决方案1】:

    通常我会编写一个测试用例行为的测试 然后拉取指标并对它们做一些断言

    通常,您应该编写一个只测试用例而不测试其他内容的测试。 为您的指标编写不同的测试。

    如果您真的想编写测试用例和指标的集成测试,那么这就是要走的路(即测试两者的单个测试)

    事实上,你应该只为你自己创建的东西编写测试。如果您的指标是您刚刚使用的外部库,则无需为它们编写测试。

    【讨论】:

    • 因为它是一个集成测试,我想确保我的应用程序正确地与指标服务集成。我使用外部库并不重要。关于不同的指标测试——不同的用例产生不同的指标,我需要在用例测试中执行相同的代码,我只是想跳过重复。
    • 为什么要重复?只需创建一个所有单元测试都扩展并重用其功能的父类。
    • 另外,如果您想同时测试用例和指标,那么对两者进行单一的集成测试是可行的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多