2016-10-19 2 views
0

私は自分の会社のiOS自動化を担当しており、XCTestのSwiftと協力しています。私の会社はSwift 3への変換中ですが、その間に変換を完了するまでSwift 2.3にテストを変換しました。自動化は容認できない速度まで遅くなりました。私たちが最初からフレームワークを選んでいれば、XCTestは失格になるでしょう。私のテスト時間は、この過渡的な迅速な変換でほぼ3分の1になっています。問題は、このリンクは参考になりました何であったか明らかにしようとすると: Swift 3 Compile Time Incredibly SlowSwift 2.3のXCTestが痛いほど遅い

私たちは私たちに、テストごとに6秒を獲得した怠惰なVARSに対処するために、すべてのクラスのモデルにfinalを適用しました!残念ながら、その@Joe Masilottiによって推奨されているように元の速度にそれを持っていない:(

をモバイルオートメーションの世界で、私たちのものとNSPredicateを使用して知っていることは要素 https://stackoverflow.com/users/384110/joe-masilotti

を待つための最良の方法です私はlet existsPredicate = NSPredicate(format: "exists == true")を含むカスタムfunc waitForElement()を使ったテストをコメントアウトしました。同じテストが3秒追加されました!合計9秒ですが、残念ながらこれはまだ元のスピードに戻っていません。どのくらい遅いスウィフト2.3になったかの言葉。

私は変換しようとしていますテストターゲットは3を迅速にし、それが役立つかどうかを確認します。私の理論はXcode 8がスウィフト3に最適化されていることです。2.3

私のテストの速度を落とさない拡張機能でNSpredicate/waitForElementやhittableメソッドを書く別の方法はありますか?

+1

Xcode 8にアップデートして以来、iOS 10のシミュレータを使用しているためではないですか?私の経験では、iOS 10のシミュレータはiOS 9のシミュレータよりもかなり遅く動作します。 – Oletha

+0

おもしろい私はそれを試してみよう、はい、私は10シムを実行しています。 – JJacquet

+0

OS 9 simの120秒からOS 9 simの55秒までのテストを行ったばかげたこと。ヒントありがとうございます。 CantはAppleがSwift 3をリリースしたと信じている。より遅くなるコードが彼らの目標であるなら、彼らはマイルストーンを打ちました。おめでとうAppleはあなたにQAが必要かどうかお知らせします。 – JJacquet

答えて

1

iOS 10シミュレータは、iOS 9シミュレータよりもリソースを大幅に消費します。

テストを速く実行する場合は、iOS 9シミュレータに切り替えますが、iOSの現行バージョンでテストするためには、テストを遅くする必要があります。

CIサーバーとしてハイスペックのMacを使用していることを確認してください。テストを実行すると非常に遅いベーススペックのMac Miniを誤って使用することがよくあります。より多くの力が多くを助けることができます。

関連する問題