LoginSignup
4
3

More than 3 years have passed since last update.

UIレイヤーまでユニットテストを入れているiOS オープンソースアプリ/フレームワーク/ライブラリポインタ集 

Last updated at Posted at 2019-04-10

はじめに

UIレイヤーまでユニットテストを入れているオープンソースアプリ/フレームワーク/ライブラリです。

商用レベルなiOSオープンソースアプリ集と一部被りますが列挙してみました。

2019年現在、UIが絡まないかつテストコードがないOSSフレームワーク/ライブラリはほとんどないので入れてません。。。

Wire iOS(GitHub) (App Store)

検証方法&フレームワーク:スナップショット、Viewのプロパティを検証

TwitterKit(GitHub)

検証方法&フレームワーク:OCMock、Viewのプロパティを検証

FireFox(GitHub) (App Store)

検証方法&フレームワーク:EarlGrey, KIF, スナップショット

Kickstarter(GitHub) (App Store)

検証方法&フレームワーク:MVVM、スナップショット

SpreadsheetView(GitHub)

検証方法&フレームワーク:?

まとめ

  • この中で普通レベルの開発組織で取り入れやすいのはWire iOS、Twitter Kit、Artsy(BDD Frameworkはお好みで)
  • ほとんどのアプリのアーキテクチャはMVC。さわって学べる!iOSテスト駆動開発の作者が関わっているプロダクトも10人体制/MVC+DIで回している。
  • 検証方法はスナップショットが多い
  • テストが用意なアーキテクチャ(MVVM+リアクティブプログラミング)を採用しているアプリはKickstarterのみで、後はView毎を巻き込んでゴリ押し
  • UIテスト用フレームワークを採用しているアプリはFireFoxのみ

というわけで、純粋なMVCでもUIのユニットテストは十分可能。

参考文献/スライド

App Architecture: iOS Application Design Patterns in Swift
iOS Code Testing: Test-Driven Development and Behavior-Driven Development with Swift (English Edition)
さわって学べる!iOSテスト駆動開発
Viewのテストどうしてますか?
Snapshot Testing in iOS

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3