問題タブ [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.

0 投票する
1 に答える
378 参照

objective-c - GHUnit テスト メソッドの実行順序を決定することは可能ですか?

これは GIYF 炎の深刻なケースのように聞こえるに違いありませんが、役に立つものは何も見つかりません。

GHUnitのテスト メソッドはアルファベット順に実行されるようです。すべてのテストケース/クラスが単独でテスト可能であることには賛成ですが、 testA 、 testB などの名前を付けることで、セマンティクスを損なうことなく特定のシーケンスをテストできるようにしたいと考えています。

GHUnitでこれを行う方法はありますか? 乾杯。

0 投票する
1 に答える
654 参照

ios - iOS 単体テスト: ホーム ボタンの押下などをシミュレートする

自動テストでホームボタンを押してアプリを終了することをシミュレートすることは可能ですか? 機内モードへの切り替えをシミュレートすることはできますか? 私は GHUnit を使用しており、これらのシナリオをテストしたいと考えています。

  1. ファイルのダウンロード中にホームボタンを押して、アプリを再度起動します
  2. ダウンロード中に機内モードに切り替えます (または単に機内モードをオンにします)。
  3. WiFi/3G から EDGE に切り替える
  4. メモリ警告をシミュレートする
  5. EDGE に接続したときに着信をシミュレートする

ありがとうございました

0 投票する
1 に答える
490 参照

ios - 「ケイパビリティ データを取得しようとしてタイムアウトしました」とは、iOS アプリから来ることを意味しますか?

これはかなりばかげた状況です: 私はGHUnitを使用してアプリをテストしており、指示に従ってシミュレーターの外でそれらのテストを実行しています。

長い間すべてが素晴らしかったのですが、テストスイートでかなり頻繁に数秒の一時停止と一致して、コンソールにこの不思議なログメッセージが表示される状況に陥っています。

これは、1 台のマシンでのみ発生しているという理由だけで、少し戸惑います。このテストスイートを実行する他の場所と同じくらいすべてがスムーズです。このマシンにはハードウェアが欠落しているか故障していると完全に信じられますが、これをデバッグするために次にどこに行くべきか知っている人はいますか? Google はこれまでこのフレーズを聞いたことがありません。

0 投票する
1 に答える
461 参照

iphone - iphone: gh-unit ターゲットをアプリ ターゲットにリンクできず、バイナリ ファイルを実行できません

これは、このチュートリアルが GHUnit テスト ターゲットで提供するものを達成しようとする質問です。テストターゲットにソースファイルを手動で含める必要がないように、テストターゲットをソースターゲットにリンクすることについてです。以下は、提案されたソリューションの抜粋です。

Xcode 4 を使用して既存の iOS プロジェクトに単体テストを追加する

Project MyExistingApp -> + ターゲットを追加 -> iOS -> その他 -> Cocoa Unit Testing Bundle

新しいターゲットに「Unit Tests」や「MyAppTests」などの名前を付けます</p>

新しい「ユニット テスト」ターゲットを選択し、[ビルド フェーズ] タブをクリックして、[ターゲット] を展開します。

依存関係を作成し、MyExistingApp をターゲット依存関係として追加します

Build Settings タブをクリックし、Bundle Loader 設定を

$(BUILT_PRODUCTS_DIR)/MyExistingApp.app/MyExistingApp

テスト ホストのビルド設定を

$(BUNDLE_LOADER)

アプリ ターゲットで、デフォルトで非表示のシンボル ビルド設定を

いいえ

チュートリアルに従って GHUnit テスト ターゲットでコンパイルするようにしましたが、実行時エラーが発生します。

あなたの助けに感謝!

編集

上記のチュートリアルとGHUnitの使用には問題があることに気付きました。上記のチュートリアルでは、バンドル ローダー ターゲットを起動する OCUnit を使用していることを前提としています。ただし、GhUnit ターゲットは実行可能ファイルでなければなりません。ソースファイルを実行可能ターゲットにリンクする方法を誰かが共有したい場合は、感謝します。今のところ、GHUnit を使用してすべてを手動で行うつもりです。

0 投票する
1 に答える
217 参照

iphone - iPhone シミュレーター: アプリ/ドキュメントが消える

iPhoneシミュレーターでXCode-Buildがアプリのドキュメントフォルダーを空にするのは標準ですか?

どうすればそれを防ぐことができますか?

0 投票する
2 に答える
519 参照

objective-c - フロント エンドでエラーを表示する代わりに、コールバック ブロックでアサーションを実行すると GHUnit がクラッシュする

コールバックでアサーションを使用すると、GH-Unit アプリがクラッシュします。アサーションは他の場所では正常に機能します。

ここにも同様の質問があります: GHUnit の非同期テストで誤ったアサーションが発生すると、単にテストに失敗するのではなく、アプリがクラッシュするのはなぜですか?

しかし、私の場合、このソリューションをどのように使用できるかわかりません。

このメソッドを上書きすることで、アプリのクラッシュを防ぐことができます。例外をログに記録することもできますが、テストはフロント エンドで失敗として表示されません。理想的には、フロントエンドに表示して、技術者以外の人がテストを実行してすべてが機能していることを確認できるようにしたいと考えています。

0 投票する
2 に答える
1613 参照

objective-c - ARC、ブリッジキャスト、GHUnit

http://gabriel.github.com/gh-unit/docs/appledoc_include/guide_testing.htmlのチュートリアルをフォローしています。問題は、私のプロジェクトがARCを使用しているのに、GHUnitは使用していないことです。以前のエラーを管理しましたが、今まで使用したことのないブリッジキャストを実行する必要があり、迷子になりました。

エラーの説明:Objective-Cポインター型'NSString*'からCポインター型'const void *'への暗黙の変換には、ブリッジキャストが必要です。

どんな助けでも歓迎します:)

0 投票する
1 に答える
157 参照

objective-c - iOSプロジェクトでARCに変換した後、GHUnitはallocate_pages()エラーを出します

最近、iOSプロジェクトをARCに変換しました。プロジェクトには2つのターゲットがあります。1つはアプリケーション自体であり、もう1つは一連のGHUnitテストです。CoreDataオブジェクトの作成と変更に関して非常に多くの作業を行う約200のテストがあります。テストで使用されるCoreDataストアはメモリストアにあり、テストが終了すると破棄されます(つまり、どこにも永続化されません)。

テストをしばらく実行していると(エラーがスローされる前にまったく同じポイントに到達することはありませんが、常に同じテストになります)、アプリケーションはEXC_BAD_ACCESS(Code = 2、address = ...)でクラッシュします。

コンソールの出力は次のとおりです。 コンソール出力

この回答の指示に従い、GHUnitターゲットのmain.mファイルを-fno-objc-arcコンパイラフラグを使用するように設定しましたが、それは役に立たなかったようです。

私はこれらのエラーが何を意味するのか本当に理解していません、そしてそれらを探すことは役に立たなかったようです。私の唯一の推測は、メモリが不足しているということですが、ARCがオブジェクトを解放する必要があることを考えると、理由や方法がわかりません。

誰かがこれを修正するために私に与えることができるどんな助けにも本当に感謝します!ご不明な点がございましたら、コメントを残していただければ、できるだけ早くご連絡いたします。

ありがとう!

0 投票する
1 に答える
3521 参照

iphone - GHUnit エラー ファイル _OBJC_CLASS_$_SenTestCase」、参照

プロジェクトでGHUnitを使用していますが、アプリを実行しようとするとエラーが発生します

Ld /Users/goldfire/Library/Developer/Xcode/DerivedData/WhatsMySpeed-amkgqintxyhelabqvrpouivmdglf/Build/Products/Debug-iphonesimulator/GHUnitTests.app/GHUnitTests 通常の i386 cd /Users/goldfire/Desktop/Example/WhatsMySpeed setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH " /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin :/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ SDK/iPhoneSimulator5.1.sdk -L/Users/goldfire/Library/Developer/Xcode/DerivedData/WhatsMySpeed-amkgqintxyhelabqvrpouivmdglf/Build/Products/Debug-iphonesimulator -F/Users/goldfire/Library/Developer/Xcode/DerivedData/WhatsMySpeed-amkgqintxyhelabqvrpouivmdglf/Build/Products/ Debug-iphonesimulator -F/Users/goldfire/Desktop/Example/WhatsMySpeed -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/goldfire/Library/Developer/Xcode/DerivedData/WhatsMySpeed-amkgqintxyhelabqvrpouivmdglf/ Build/Intermediates/WhatsMySpeed.build/Debug-iphonesimulator/GHUnitTests.build/Objects-normal/i386/GHUnitTests.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework UIKit -framework Foundation -framework CoreGraphics -framework GHUnitIOS -framework SenTestingKit -o /Users/goldfire/Library/Developer/ Xcode/DerivedData/WhatsMySpeed-amkgqintxyhelabqvrpouivmdglf/ビルド/製品/デバッグ-iphonesimulator/GHUnitTests.app/GHUnitTests

アーキテクチャ i386 の未定義シンボル: "_OBJC_CLASS_$_SenTestCase"、参照元: LogicTests.o の _OBJC_CLASS_$_LogicTests "_OBJC_METACLASS_$_SenTestCase"、参照元: LogicTests.o ld の _OBJC_METACLASS_$_LogicTests: アーキテクチャ i386 のシンボルが見つかりません: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用してください)