2011-11-09 11 views
3

私のアンドロイドアプリでは、現在の国の国コードを取得する必要があります。だから、私はandroid.telephony.TelephonyManagerでgetNetworkCountryIso()メソッドを使用しました。今は偽の演算子でテストしたいだけです。 getNetworkCountryIso()が私の国として "US"を返すように、私が私たちにいるとふるいています。これどうやってするの ?偽のGPSのような偽の演算子のアプリはありますか?NetworkCountryIsoを偽装する方法は?

ありがとうございます!

+0

ユニットテスト用の模擬フレームワークを使用していますか? TelephonyManagerを偽装し、模擬したTelephonyManagerを取得して、好きなものを返すことは可能かもしれません。 – brianestey

+0

私はどんなモックフレームワークも使用していません。私は何かがあるかどうかを知りたい。 – Chrishan

答えて

2

私はTelephonyManager、ConnectivityManagerなどをモックする必要がありました。私たちはAndroid用の模造フレームワークの設定に問題がありました。そこでTelephonyManagerとコードの間にレイヤーを作成しました。このレイヤー(クラス)は、TelephonyManagerと同じメソッドを持ち、すべての呼び出しを実際のTelephonyManagerに委任しました。しかし、テストのために、この「レイヤー」を私たちが望む結果を生み出すモックレイヤーに置き換えることができました。少し不必要なコードが追加されますが、テスト容易性が大幅に向上しました!

関連する問題