2012-03-29 6 views
0

私は、プロジェクトBをライブラリとして持つプロジェクトA(プロジェクトプロパティ/ Android /ライブラリ)用のAndroid JUnitテストケースを作成しています。私のテストケースは、プロジェクトAとプロジェクトBの両方からリソース(ビューID、文字列など)にアクセスする必要があります。プロジェクトAおよび/またはプロジェクトBをAndroid /ライブラリとして、またはJavaビルドパス/プロジェクトとしてテストプロジェクトに追加すると、 ActivityInstrumentationTestCase2.getActivity()を呼び出すと、ClassCastExceptionがスローされます。ActivityInstrumentationTestCase2.getActivity()はライブラリのClassCastExceptionをスローします

追加しないと、適切なアクティビティが返されますが、テスト対象の2つのプロジェクトのリソースIDにはアクセスできません。プロジェクトAの適切なテストに必要なプロジェクトBのオブジェクトにアクセスすることもできません。ここではモックオブジェクトは使用できません。

これまでに遭遇し解決した人はいますか?

+0

_Iはしないでくださいtest_の下にある2つのプロジェクトのリソースIDにアクセスできます.logcatを使って投稿したソースは、他の人があなたの問題を見つけるのに役立ちます。 – yorkw

+0

私はNDAの下で働いているので、ソースコードやログキャストデータを投稿することはできません。私はそれがこの質問にもっと答えることを知っています... – damnhippie

答えて

0

ライブラリからアクセスリソースにこれを試してみてください:(私はそれが動作すると思います)

getInstrumentation().getTargetContext().getResources()...; 

これは、テストプロジェクトからリソースをロードします(間違いなく動作します)

getInstrumentation().getContext().getResources()...; 
+0

ありがとう!上記の方法でリソースにアクセスできます。しかし、私はライブラリー・プロジェクトの公的なクラスとインターフェースにもアクセスする必要があります。私はこれを示すために質問を編集しました。 – damnhippie

関連する問題