Help us understand the problem. What is going on with this article?

テストターゲット上でアニメーションを切る。

More than 1 year has passed since last update.

はじめに

UI部分のテストは出来るだけユニットテストで行った方が良いです。小回りが効くので。

そのUI部分のユニットテストを行う時、アニメーションを行う処理が入っているとその分処理に時間がかかります。

テスト用にアニメーションの処理を切る処理を入れれば良いのですが、その処理がプロダクションコードのあちこちに紛れ込むのはメンテナンスの観点からよくないでしょう。

幸いな事にiOSにはアプリ全体のアニメーションを切るメソッドがUIViewのクラスメソッド(setAnimationsEnabled)として用意されています!

実際のコード例

実際のコード例を示します。テストターゲット向けのAppDelegate内で書くとプロダクションコードに全く手を入れなくてすみます。

TestingAppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

UIView.setAnimationsEnabled(false)

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away