私の大学のクラスでは、Bluetoothを使用してアプリケーションを実行している他のデバイスをスキャンし、Wifiインターフェイス経由でTCPを使用してお互いにファイルを転送し、NATトラバーサルを実装しながら、ログを記録しながらマルチスレッドのBlackberryアプリケーションを開発していますGPSの位置。(まだ明らかではない場合に備えて、これはRIMが後援するComputer Networksクラスです。)
私はテスト駆動開発が好きになり、宿題の開発にそれを採用するつもりでした。ただし、テスト中に拡張または別の方法で呼び出すBlackberryクラスを使用すると、不正な修飾子が原因でClassFormatErrorが発生します。このエラーは、Blackberryコードを含むjarが独自のJVM用に特別にコンパイルされている必要があるために発生したと思います。
これまで、私はプロキシパターンの使用とプロキシのモックオブジェクトの実装に頼ってきました。ただし、私は多くのネイティブBlackberryクラスから継承しているため、これは非常に退屈な作業になっています。
また、可能であればBlackberryシミュレーターを起動する必要もありません。起動するだけで数分かかる場合があり、これは非現実的であり、単体テストには煩わしいものです。
Blackberryコードを単体テストする簡単な方法はありますか?
あなたはモックアップについては正しい方法ですが、J2SEプラットフォームでBlackberryの機能をテストすることはお勧めしません。ネイティブソースで使用可能なテストデータがない場合は、プロキシとモックアップを使用する必要があると思います。例:
「他のデバイスのスキャンは、」 -他のデバイスが存在しませんが、あなたはスキャン機能をテストするためにワン
「TCPは、無線LANインターフェースを介して」 -あなたは嵐(なしのWiFi)でそれをテストしたい
「私たちのGPS位置をログに記録する」 -デバイスの場所は静的であり、他の場所をテストしたい
次に、Blackberryプラットフォームを使用してそのような機能をモックアップできます
。BlackBerryGPS位置モックアップ
それでも、同じ名前と署名を使用するだけで、J2SEでBlackBerry APIクラスを最初から再現できます。これは、すべてのクラス機能を自分で実装する必要があることを想定しています。
それは本当に素晴らしいオプションですが、今のところ、これを行う方法はわかりません。
テストにはアプリケーションの実行が含まれ、これにはプラットフォームのシミュレーションが含まれます。UIシミュレーター全体を実行せずにj2meコードをテストする可能性はいくつかありますが、私はそれを知りません。
あなたができることは、最小限のコード変更でJava Standard Edition上でいくつかのビジネスロジックをテストすることです。
シミュレータでプラットフォーム依存の機能テストを実行する必要がありますが、ChrisWがすでに言ったように、単体テストのセットとなる1つのアプリケーションで実行できます。テストメソッドを1つずつ実行し、結果を画面に出力します
。Method1-合格
-0.03秒
Method2-合格-1.30 秒Method3-合格-0.25秒
http://j2meunit.sourceforge.net/:
J2MEUnitは、J2MEアプリケーションのユニットテストフレームワークを含むJava 2 Micro Edition(J2ME)ライブラリです。これは、Javaの標準(デスクトップ)版であるJ2SEで成功した単体テストフレームワークである、元のJUnitのソースコードに基づいています。
J2MEUnitとJ2MEUnitのセットアップと学習のためのEclipse クイックチュートリアルによるJ2MEアプリケーションのユニットテスト
http://jmunit.sourceforge.net/:
JMUnitは、JUnitに基づくJava ME(J2ME)の単体テストフレームワークです。次の機能があります。
-Sunエミュレータと実際のデバイスの両方で動作します。
-小さい(古いMIDP 1.0デバイスでもテストを実行できる)。
-テストの失敗をチェックするためのAssertメソッドの包括的なコレクションがあります。
-TestCasesとTestSuitesの両方がサポートされています。
-継続的ビルドでJMUnitテストを実行するためのAntタスクが含まれています。
-JUnitPerfに触発されたパフォーマンス監視クラスがあります。
jmunitに基づくRIM Blackberryのユニットテストライブラリ
http://sourceforge.net/projects/b-unittesting/
BlackBerry Support Community Forums:How to do unit Testing my my Blackberry Application
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加