Succinct (サシンクト)

Build Status Swift Package Manager Compatible Carthage Compatible Cocoapods Compatible GitHub tag codecov jazzy docs GitHub license

使用 Succinct 以一种与视图的私有实现细节解耦的方式,对您的 iOS UI 的行为进行单元测试。

重要提示:_ Succinct 仍在开发中,目前尚不支持 iOS 视图层级结构的每个测试方面。功能会根据需要添加。如果您希望看到包含某些功能,请随时提出 issue 或提交 PR。 👍🏻

安装

Swift Package Manager (SPM)

在 Xcode 中,选择 File -> Add Packages... 菜单选项,然后输入 https://github.com/derekleerock/Succinct 作为仓库 URL。选择所需的依赖规则和目标,然后点击“Add Package”。

Carthage

只需将 Succinct 包含在您的 Cartfile.private 中

github "derekleerock/Succinct"

并且 将其包含在您的测试目标中

Cocoapods

只需将 Succinct 添加到您 Podfile 的测试目标中

target 'MyAmazingApp' do
  ...
  
  target 'MyAmazingAppTests' do
    inherit! :search_paths

    pod 'Succinct'
  end
end

文档

📄 通过 GitHubPages 查看文档

自动文档生成归功于 JazzyGitHubPagesTravis-CI 集成,以及来自 @jgsamudio 这篇博文 中的一些优秀指导。

做出贡献

Succinct 的开发工作通过 GitHub Issues 在此进行,因此任何人都可以贡献并了解框架的当前状态。 如果您正在寻找的功能未包含在内,请随时提出 issue 或提交包含您建议的功能和测试的 PR,以便我们进行讨论。

开发环境设置

Succinct 使用 Xcode 中的 Swift Package Manager 集成来安装依赖项。 Xcode 将在您首次构建并运行测试时获取这些依赖项。

运行测试

Succinct 的所有测试都已使用 Quick 和 Nimble 进行 TDD 开发 - 这意味着您可以放心地使用 Succinct,因为它将为您提供的功能提供准确的结果。

Succinct 有两个不同的测试套件:单元测试和模拟器测试。

单元测试

这些单元测试不需要主机应用程序运行,这意味着它们可以在没有模拟器的情况下运行。 这使得它们速度极快!

它们可以使用以下命令执行

$ make tests

模拟器测试

这些单元测试需要模拟器,因为它们与 UI 中的元素进行交互。 它们仍然很快,因为它们是单元测试,但启动模拟器需要一些时间。

它们可以使用以下命令执行:$ make simulator-tests

所有测试

两个测试套件都可以使用以下命令执行

$ make alltests

在完成您的 PR 之前,请确保您的功能已得到充分测试,并且您已确认所有测试都成功运行 - 谢谢! 🙇🏻‍♂️

许可证

Succinct 在 MIT 许可证下获得许可。 请参阅 LICENSE 文件。