問題タブ [gh-unit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - GHUnit による単体テスト
iPhone開発初心者です。フレームワーク GHUnitIOS を統合してアプリケーションをテストしました。しかし、単体テストの実装方法に関するドキュメントは見つかりませんでした (単体テストは初めてです)。
GHUnit、ドキュメント、例、説明から始めるのを手伝ってくれる人はいますか?
iphone - あるiOSアプリが別のアプリのキャッシュディレクトリにアクセスすることさえ可能ですか?
私はGHUnitでユニットテストを書いています。別のアプリのライブラリディレクトリ内のキャッシュディレクトリにファイルが生成されているかどうかを確認したいと思います。これは実行可能ですか、それともアプリが互いのライブラリディレクトリにアクセスできないようになっていますか?もしそうなら、これの単体テストを作成するための可能な回避策はありますか?生成されたファイルをドキュメントなどの別のディレクトリに保存できますか、それとも役に立ちませんか?
objective-c - ライブラリを使用するアプリケーションに対するGHUnitテスト
ライブラリとしてアクセスされるProtocolBuffersを使用するiOSアプリケーションに基づいていくつかのGHUnitテストを構築しようとしています。アプリケーションから「ソースのコンパイル」ビルドフェーズにソースファイルを追加することでゆっくりと解消してきた多くのリンカーの問題に遭遇しましたが、アプリケーションに関連するすべてのものを追加したので、次のことがわかりました。 ProtocolBuffersに対してリンクできないようです。
Objective-Cコードのユニットテスト用にGH-Unitを読みましたが、リンクエラーが発生するのはなぜですか?ポスターは、下部のREADMEアップデートに基づいて状況を修正したようです。私はハイブリッドを持っているので、アプリケーションとライブラリの両方に対してGHUnitをリンクしているので、すべてのアプリケーションソースファイルを「ソースのコンパイル」ビルドフェーズに追加するだけでなく、ProtocolBuffers出力を依存関係として追加する必要があるという仮定から始めました。 。
これはうまくいきませんでした。リンカがProtocolBuffersライブラリからシンボルを見つけていないことを明確に示すリンカエラーが引き続き発生します。ProtocolBuffersソースファイルはこのプロジェクトに含まれていないため追加できません。また、tests.pchファイルに#import"ProtocolBuffers.h"を追加しても機能しません。
私は今困惑しています。助言がありますか?GHUnitは見栄えがしますが、Xcode / ObjCテストツールを使用しているように見えるので、「HelloWorld」にアクセスするのは私が予想するよりも厄介です。
ios - Xcode 4 での GHUnit + Hudson/Jenkins の問題
Xcode 4 で GHUnit を構成し、Hudson/Jenkins と統合する方法については、この非常に優れたチュートリアルに従いました。
すべてのテスト ケースに合格した場合はすべて正常に動作しているように見えますが、テスト ケースが失敗した場合、Hudson/Jenkins は失敗したテスト ケースの詳細を実際に確認できる「テスト結果」を作成しません。
コンソール出力を確認すると、次のように表示されます。
実行中のスクリプトはここにあります。
同じ例外を除いて、Jenkins と Hudson の両方で失敗します。
誰もこれを修正する方法を知っていますか?
ありがとう。
ios4 - アプリ クラスでの GHUnit リンカ エラー
アプリの NSManagedObject オブジェクトに対してセッターが実際に機能することをテストするために、GHUnit テストを実行しようとしています。私のアプリは Machine と呼ばれ、私の GHUnit ターゲットは Tests と呼ばれます。Tests ターゲットへの依存関係として Machine を追加しました。テストでの私のオブジェクトは、Goal と呼ばれます。ここにコードがあり、リンクのエラーは以下に示されています。
@終わり
Ld /Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/Machine-cscchzscengbcmcmeyzxlkbhumdn/Build/Products/Debug-iphonesimulator/Tests.app/Tests normal i386 cd /Users/dlwhitehurst/Development/Coding/Objective-C/iPad/machine setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator .platform/Developer/usr/bin/llvm-gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/Machine-cscchzscengbcmcmeyzxlkbhumdn/Build/Products/Debug-iphonesimulator -F/Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/Machine-cscchzscengbcmcmeyzxlkbhumdn/Build/Products/ Debug-iphonesimulator -F/Users/dlwhitehurst/Development/Frameworks -filelist /Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/Machine-cscchzscengbcmcmeyzxlkbhumdn/Build/Intermediates/Machine.build/Debug-iphonesimulator/Tests.build/Objects- normal/i386/Tests.LinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework CoreData -framework GHUnitIOS -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/dlwhitehurst/Library/開発者/Xcode/DerivedData/Machine-cscchzscengbcmcmeyzxlkbhumdn/ビルド/製品/Debug-iphonesimulator/Tests.app/Testsアプリ/テストアプリ/テストLinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework CoreData -framework GHUnitIOS -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/マシン-cscchzscengbcmcmeyzxlkbhumdn/ビルド/製品/デバッグ-iphonesimulator/Tests.app/テストLinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework CoreData -framework GHUnitIOS -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/dlwhitehurst/Library/Developer/Xcode/DerivedData/マシン-cscchzscengbcmcmeyzxlkbhumdn/ビルド/製品/デバッグ-iphonesimulator/Tests.app/テスト
アーキテクチャ i386 の未定義シンボル: "_OBJC_CLASS_$_Goal"、参照元: ControllerTests.o ld の objc-class-ref: アーキテクチャ i386 のシンボルが見つかりません collect2: ld は 1 終了ステータスを返しました
command-line - コマンドラインGHUnitでUIApplicationDelegateを使用するにはどうすればよいですか?
シミュレーターからの実行とコマンドラインからの実行で、GHUnit の結果に違いがあります。CLIでUIApplicationDelegateを使用するにはどうすればよいですか?
私のサンプルアプリでは、タグは stackoverflow-6479906です。Apple のOCUnitの例をGHUnitに転送したい。
予想:
「appDelegate」はどちらも nil ではありません。
現時点の:
シミュレーターからの実行は正常に機能します。ただし、cli から実行すると例外が発生します。https://gist.github.com/1046753
参照:アップルの単体テストの例
注: async NSURLConnection サンプルを読みましたが、解決策が見つからず、UIApplicationDelegate のケースで調整しました。
objective-c - GHAssertThrowsSpecific はタイプ NSRangeException を見つけることができません
Xcode 4 と GHUnit を使用して、初めて単体テストを作成しています。すべてのアドバイスは、OCUnit ではなく GHUnit を使用することを示唆しているようです。
「myList」というカスタム コレクション オブジェクトがあり、メッセージを渡して で選択を取得しindex:-1
ます。したがって、(基になる可変配列から) NSRangeException を正しくスローします。
GHAssertThrowsSpecific アサーションでこれをキャッチするのに苦労しています。
この次のコード行は、「不明な型名 'NSRangeException'」と言ってコンパイルされません。
NSRangeException#importing "Foundation/NSException.h"
が定義されているように見えます。それを次のように変更すると:
その後、正常にコンパイルされ、アサーションが機能するため、NSRangeException と関係があります。
ヘッダーを見ると、NSRangeException が定義されているように見えますNSString * const
。
何が間違っているのか分からないので、私は明らかにかなり愚かです。
iphone - GHUnitはSimulatorで動作しますが、iPhoneでは動作しません
だから私は今日GHUnitで遊んでいて、XCode4のsimilatorでうまく動作するいくつかの素晴らしいテストがあります。iPhone自体で実行すると、次のエラーが発生します。
あなたが尋ねる前に、はい、私はリンカーのオプション-ObjC
と-all_load
セットを持っています、そして私が言ったように、それはシミュレーターでうまく動作します、それでなぜiPhone自体ではないのですか?
困惑!
ios - デバイスへのビルド時に LLVM エラーが発生するが、シミュレーターでは発生しない
テスト ターゲットを iPad1 (4.3.5) または iPhone4 (4.3.5) にビルドしようとすると、Xcode 4 (ビルド 4A304a) から次のエラーが発生します。
ただし、テスト ターゲットがシミュレーターでのビルドに切り替えられた場合はそうではありません。
ボークしているコード行は
(無実を守るためにオブジェクトの名前が変更されました ;-) ) しかし、それはシングルトンだと言えます。
私はグーグルを検索しましたが、このエラーに関連するものは何も得られませんでした。
イアン、よろしくお願いします。
objective-c - テストに失敗するだけでなく、GHUnit の非同期テストで誤ったアサーションがアプリをクラッシュさせるのはなぜですか?
この質問は閲覧数が非常に少なく、まだ回答がありません。より多くの注目を集めるために、この質問について何を変更すればよいか提案があれば、喜んで聞かせてください。乾杯!
私は自分GHAsyncTestCase
のカスタムをテストするために使用してNSOperation
います。テスト ケースを操作オブジェクトのデリゲートとして設定し、didFinishAsyncOperation
完了したらメイン スレッドで呼び出します。
アサーションが失敗すると、例外がスローされます。これは、テストを「失敗」としてレンダリングするためにテスト ケースによってキャッチされる必要があります。しかし、この予想される動作の代わりに、アサーションが失敗するとすぐにアプリが Xcode によって中止されます。
*** キャッチされない例外 'GHTestFailureException' が原因でアプリを終了します。理由: ''NO' は TRUE でなければなりません。これにより、失敗したテストがトリガーされるはずですが、代わりにアプリがクラッシュします。
私は明らかに何か間違ったことをしています。誰が教えてくれますか?