問題タブ [sentestingkit]
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.
ios - SenTestCase クラスのコアデータ: 予期しないエラー
コアデータを使用して、sqlite db からデータを保存および取得するアプリケーションに取り組んでいます。このために、データ リンク層のように機能する別のクラスを作成しました - LocalDBController
以下は、そのメソッドの 1 つである selectAddressWithAddressId の実装です。
現在、テスト ケース クラス (SenTestCase クラス) を実装しようとしています。
環境変数の値が「Run」の場合はデフォルトの永続ストアを使用し、環境変数の値が「Test」の場合はインメモリの永続ストアを使用するように、LocalDBController クラスの init メソッドを以下に記述しました。
私のテストクラスでは、以下のメソッドを呼び出そうとしています:
問題は-
この場合、selectAddressWithAddressId:メソッドで取得したentityDescriptionの値は nil ですが、self.moc の値は nil ではありません。そのため、コンソールにこの例外メッセージがスローされています: raise executeFetchRequest:error: A fetch request must have an entity..
テスト ケース バンドルに含まれていないクラス (appDelegate など) から上記のメソッドを実行すると、正常に動作します。
私が何か間違ったことをしているなら、誰かが私に提案できますか?
objective-c - cocos2d 単体テスト。未定義シンボル
単体テストと TDD の利点を自分自身に納得させようとして、最新の Cocos2D プロジェクトにテストを含めることにしました。最初のボイラープレート テストを起動して実行することは問題なく動作しますが、残念ながら、この後はあまり先に進むことができませんでした。テスト リグは Cocos2D クラスごとにボークします。
上記の例では、NORControlLayer は CCLayer のサブクラスです。明らかな解決策は、単純に CCLayer をテスト リグにリンクすることですが、これにより、クラスを追加するたびにさらに 10 倍のクラスをリンクする必要があり、スズメバチの巣ができてしまうようです。
SenTestingKit が NORControlLayer と将来の Cocos2D サブクラスを受け入れるようにするためのモック (またはその他の巧妙なトリック) を作成する方法はありますか?
PS: 実際には、すべての cocos2d-class をテストキットのターゲットとして含めるようにしましたが、100 以上の同様のエラーが発生しました...
iphone - コマンド ラインから ios ocunit ロジック テストを実行すると、キーチェーンにアクセスできない
コマンドラインを使用してロジック テスト ( OCUnit ) を実行しようとしています。しかし、エラーで失敗します。
使用したコマンド
エラー
キーチェーンにアクセスできるように、コマンドラインからプロジェクトを実行しているときにシミュレーターを実行したいです。または、コマンドラインからプロジェクトを実行するときにキーチェーンにアクセスする他の方法はありますか? 助けてください !!!
objective-c - xcode で特定のグループのテストまたは単一のテストを簡単に実行する方法はありますか?
単一のテストを単独で実行する方法、またはテストのグループを実行する方法はありますか?
特定のテストをデバッグしようとすると、以前のテスト ケースが同じブレーク ポイントをトリガーする可能性があるため、非常に煩わしいことがわかりました。 ..だから、もっと良い方法があるのだろうか?
cocoa - OCMock を追加した後、単体テストは常に「成功」します
Cocoa プロジェクトの単体テストで OCMock を使用したいと考えています。OCMock の最新バージョン (2.0.1) をダウンロードし、OCMock.frameworkをプロジェクトのディレクトリにコピーしました。Xcode では、フレームワークを単体テスト ターゲットのリンクフェーズに追加しました。次に、OCMock のクラスを使用するコードをいくつか追加しました。
それ以降、すべての単体テストは「成功」として報告されます - 緑色のライト、エラーや警告はありません。呼び出しを導入した後でもSTFail
、Xcode は「テストが成功しました」と主張します。任意のテスト メソッドにブレークポイントを配置すると、それらのどれも実行されないことがわかります。
ディレクティブを含め、OCMock を使用してコードをコメント アウトすると、問題は解決しませんimport
。
STFails
リンク フェーズから OCMock を削除すると、この問題は解消されます。つまり、起動が再び失敗します。
これは、以前に尋ねた別の質問に似ていますが、まったく同じではありません。この場合、ログ ナビゲータの情報にはエラーが表示されません。この動作の原因は何ですか? 問題を診断するにはどうすればよいですか?
xcode - SenTestingKit のログ出力について
単体テストから生成された最終的なコンソール出力を完全に理解しようとしています:
ほとんどは自明ですが、最後はよくわかりません。具体的にはin 0.034 (0.052) seconds
。各テストは次のような出力を示すため、平均にはなりません。
6 つのテストすべてが示しpassed (0.005 seconds)
ているため、平均は意味がありません。0.034
実行の合計時間のようですが、何(0.052)
を表しているのか混乱していますか?
objective-c - 「インストルメント プログラム フロー」が有効な場合の objc_msgSend の EXC_BAD_ACCESS
この問題を追跡するために数日を費やしましたが、これまでのところ運がありません。
Xcode を使用して Objective-C で開発された Mac OS アプリケーションである私のプロジェクトでテスト カバレッジを測定しようとしています。これは、ビルド設定で「Instrument Program Flow」と「Generate Test Coverage Files」を有効にすることを意味します。これらは、clangのフラグ-fprofile-arcs
とフラグに対応していると思います。-ftest-coverage
これらを有効にすると (-fprofile-arcs
この問題にのみ影響するようですが)、特定の場所でEXC_BAD_ACCESS
例外が発生してプログラムがクラッシュします。objc_msgSend
アプリケーション自体を実行している場合、これは最初のネットワーク リクエストが返されたときに発生します。バックトレースには私のコードは含まれておらず、Foundation/Cocoa フレームワーク内で完全に発生しているようです。これは面倒でしたが、テストを実行しているか、アプリケーションを使用しているかに応じて、ビルド設定のオン/オフを切り替えることに我慢しました。
テスト中に同じ問題のように見えるものに遭遇しました。ネットワーク アクセスを含むテストを作成したところ、プログラム フローをインストルメント化するときに、同じ場所で明らかに同じ例外が発生してテストが失敗します。
何が原因なのかを突き止める必要があります。私が開発しているアプリケーションは大学のプロジェクト用で、目標の 1 つはテスト カバレッジを報告し、テスト プロセスを評価することです。テストがクラッシュするためにアプリケーションの大部分をテストできない場合、これを行うのは非常に困難です。
テスト実行時のバックトレースは次のとおりです。
これらの上部は同じ問題のように見えます。これは私のコードのどこかに問題がありますか (どこにあるのかわかりません)、それとも問題を軽減する方法はありますか?
ゾンビ オブジェクトをオンにしたり、クラッシュ時にレジスタの内容を出力したりするなど、典型的なデバッグのヒントを試してみましたが、どちらもまったく役に立ちませんでした。レジスタにはゴミが含まれているように見え、ゾンビを有効にしても情報が得られません。
nsnotificationcenter - NSNotification 配信のテスト
が呼び出さNSNotification
れた後に送信されることを確認しようとしています。reportIssue
次のエラーが表示されます。
APHIssueComposer.m で:
APHIssueComposerTests.m で:
モック オブジェクトが通知を受け取らないのはなぜですか?
xcode - SenTest/OCUnit のカスタマイズ
ときどき、Mac/iOS 単体テスト フレームワークのいくつかの側面を変更したいという衝動に駆られます。XCode との優れた統合を犠牲にしたくはありませんが、いくつかの詳細を変更したくなることがあります。
- メッセージをコンソールに記録する代わりに、モニター オブジェクトにメッセージを送信する
- 失敗のみをログに記録する
- テストのシーケンスを変更する
そんな単純なこと。おそらくSenTestフレームワークの開発者バリアントを介して、これを行う合理的な方法はありますか?
objective-c - Xcode の SenTestingKit
こんにちは、この警告メッセージが表示されました。以前は表示されませんでした:
どうすれば修正できますか?
フレームワーク検索パスで「${DEVELOPER_LIBRARY_DIR}/Frameworks」を試しましたが、何も起こりません。
前もって感謝します