有 Swift 单元测试的架构模式吗?

问题描述 投票:0回答:2

我想知道是否存在用于 swift 单元测试的架构模式,例如 MVP、MVVM。

我了解 AAA 模式,但它破坏了测试方法内部的逻辑。在我读过的所有内容中,测试的结构与项目本身的结构相同,并且没有这样的架构。

It looks something like this

也许您知道一些架构、模式或方法有助于将模块化测试逻辑地分解为不同的对象?

ios unit-testing architecture xctest xctestcase
2个回答
2
投票

XCTest 属于 xUnit 测试框架系列。它遵循 xUnit 架构,支持分组到测试套件中的独立测试用例。

对于 Swift 开发人员来说,最重要的是学习如何正确地拆解事物,以便测试用例保持彼此隔离。请参阅https://qualitycoding.org/xctestcase-teardown/

有关一般 xUnit 设计模式,请参阅 http://xunitpatterns.com


0
投票

对于架构模式,Jon Reid 的回答是正确的。但一段时间后,我发现了一种可以帮助您编写“干净”单元测试的模式。它是一个构建器模式。您可以将逻辑分开:

  • 设置测试双打并sut;
  • 测试。

通过这种方式,我们将配置 SUT 的大量逻辑移至单独的对象中,并使测试更具可读性。

示例:

sut = builder
        .with(id: myId)
        .with(condition: myConfition)
        .makeFailureOnRequest(error: myError)
© www.soinside.com 2019 - 2024. All rights reserved.