5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOS Test Night 第9回目 参加レポート #ios_test_night

Posted at

イベント情報

iOS Test Night #9 - 2周年 -

会場: DeNAさんのサクラカフェ
URL: https://testnight.connpass.com/event/102778/

トーク

XCTest(再)入門

@tobi462さん

  • TDD
    • テスト駆動開発
    • 良い設計とはテストしやすいこと
  • BDD
    • TDDから派生
    • 振る舞い駆動開発
  • XCTest
    • XCTAssertEqual
      • 他にもアサーションは沢山ある
    • XCTestCaseを継承
      • test_から始まる関数名である必要がある
    • エラーメッセージ
      • 任意で付与可能
      • 全部書かず、バランスが必要
        • BDDの場合は自動生成されるのでそちらに任せるとよい
    • @testable import でinternalな関数にもアクセスできる
    • 独自アサーション
      • XCTest
        • file, lineを引数を渡し、エラーメッセージを設定する
      • Quick/Nimble
    • 前後処理の共通化
      • XCTest
        • setUp/tearDown
      • Quick/Nimble
        • beforeEach/afterEach
    • テストの階層化・カテゴライズ
      • XCTest
        • Xcode9から追加された
        • runActivity(name:)

BetterSpecsに学ぶ Swiftにおける本当にRSpecライクなテストの書き方

@rocknameさん
資料

  • みてねではテストを書く文化がある
    • Dangerを利用し、テスト書いてないとbotに怒られる
    • Quick/Nimbleを採用
      • サーバサイドがRSpecなので、RSpecにインスパイアされているものを採用
      • Mock用ライブラリは特に使っていない
  • 読みやすいテストを書きたい
    • Better Specsというガイドラインを参考にしている
  • Better Specs
    • 単一条件テスト
      • itで テストに対する説明をしっかり書いてあげる
        • どういう仕様に対して、どういう値を返すのか明確になる
    • Contextsを使う
      • 例えば、ログインしている、ログインしていないという文脈をContextsに外側に切り出す
    • Subjectを使う
      • テスト対象の主体をSubjectとする
      • Quickだと用意されていない
      • 引数を変数として定義
      • subjectを計算型プロパティとして定義する
        • Subjectは毎回代入する必要がなくなる
  • What/When/Howを意識する
  • 【Spec = 仕様書】になるように

Azure PipelinesでiOSアプリのCI/CDを実現

@nakashoさん
資料

  • Azure DevOps
    • 2018/9/11に発表
  • Azure Pipelinesの話
    • ソース選択
    • ビルドテンプレートの選択
    • 様々な拡張機能のあるMarketplaceもある

よく使うテストヘルパーの紹介

@ktanaka117さん
資料

  • やりたいことは事前準備ではなくテスト
  • よく使うテストヘルパー
    • JSONファイルからテストデータを取得する
      • テストデータに不備がない前提でforce tryしている
    • 連続した通信で順番を担保しつつResponseを返すHTTP Stub
  • 指針
    • 重複の削除
    • テストの本質でないものは目立たせない
    • 理想の形(テストコード)を先にイメージして、インターフェース化する
    • ヘルパーに対してもテストを書く

開発者として学ぶソフトウェアテスト

@kariadさん
資料

まずはできるところから始めるUnitTestとテストができる実装について

@fumiyasacさん
資料

  • 目視チェックはしんどい
  • 仕様の概略とテスト戦略を考える
  • 紛らわしい検索条件の組み合わせのテストパターンを入れる
  • 些細なtエストコードが実装や理解の助けになる
    • 最初からうまくはいかない。できる所から試していこう

まとめ

自分自身テストコードをどんどん書いていきたいと思いながらもなかなか実現できていない状況なので、まずはどういう所から書いていけばいいか・書く時はどのような所を意識して考えていけばいいかなどすぐに実践に移せそうな内容で参考になりました。
勉強会全体を通して初心者にもとっつきやすい内容が多い印象でした。

Better Specsというガイドラインは今回初めて知ったので、是非読んでテストコードを書くための理解を深めたいと思います。

素晴らしい発表ありがとうございました。

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?