質問:このプル リクエストでは、テストは CircleCI ではパスしませんが、テストはローカルでパスします。なんで?
CircleCI テスト出力は、すべてのテストの失敗を示していFBSnapshotTestCase
ます。例えば:
✗ testAdjustsFontSizeToFitWidth, ((comparisonSuccess__) は true) に失敗しました - スナップショットの比較に失敗しました: エラー Domain=FBSnapshotTestControllerErrorDomain Code=1 「参照イメージを読み込めません。」UserInfo=0x7f85f36b0a50 {NSLocalizedFailureReason=参照画像が見つかりません。レコード モードでテストを実行する必要があります。NSLocalizedDescription=参照イメージを読み込めません。
[…]
✗ testAttributedTruncationToken、((comparisonSuccess__) は true) に失敗しました - スナップショットの比較に失敗しました: エラー Domain=FBSnapshotTestControllerErrorDomain Code=1 「参照イメージを読み込めません。」UserInfo=0x7f85f35b06d0 {NSLocalizedFailureReason=参照画像が見つかりません。レコード モードでテストを実行する必要があります。NSLocalizedDescription=参照イメージを読み込めません。
ただし、同じテストがローカルでパスします。
CircleCI では、テストReferenceImages_32
は存在しないディレクトリを使用します。
/Users/distiller/TTTAttributedLabel/Example/TTTAttributedLabelTests/ReferenceImages_32/TTTAttributedLabelTests/testAdjustsFontSizeToFitWidth@2x.png
ただし、イメージは に存在しReferenceImages_64
ます。ファイルで iPhone 6 シミュレーターを使用するように指定されて_64
いるため、次のディレクトリが使用されると予想されます。circle.yml
dependencies:
pre:
- xcrun instruments -w "iPhone 6 (8.3 Simulator)" || exit 0
override:
- sudo gem install cocoapods xcpretty obcd -N
- pod install --project-directory=Example
test:
override:
- set -o pipefail && xcodebuild -workspace 'Example/Espressos.xcworkspace' -scheme 'Espressos'
-sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 6"
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean test | xcpretty -c
--report junit --output ${CIRCLE_TEST_REPORTS}/junit.xml
- これは何が原因ですか?
- CircleCI でテストをパスするにはどうすればよいですか?
- おそらく関連:この
FBSnapshotTestCase
問題