NOT: Bu çözüm Eclipse Indigo (3.8.2) kullanımına dayanmaktadır ve temel ilkeler aynı olsa da başka bir IDE için biraz farklı şekilde uygulanması gerekebilir.
Benzer sorunlar yaşadım ve aşağıdakilerin her zaman işe yaradığını öğrendim:
( NOT: Bu talimatlar sıfırdan yeni bir proje grubu oluşturmak içindir. Proje grubunun parçalarını zaten oluşturduysanız, projelerinizi aynı şekilde bağlanacak şekilde değiştirmeniz gerekebilir. )
- Oluşturma sırasında "Kitaplık" onay kutusunu işaretleyerek yeni bir Android Kitaplığı projesi oluşturun. (örneğin, "RemingtonAndroidTools" adlı bir Android projesi).
- Android Kitaplığı projesini oluşturun ve bin klasöründe bir jar dosyası oluşturduğunu doğrulayın. (örneğin, "RemingtonAndroidTools.jar" adlı bir jar dosyası.)
- Android Test Uygulaması olarak hizmet verecek Android uygulamasını test etmek için boş bir Android Projesi oluşturun. (Örneğin, "RemingtonAndroidToolsTestApp" adlı bir Android projesi). Test için eklenmesi gereken bir şey olmadıkça Android Test Uygulaması projesinin kaynak kodunu veya kaynaklarını değiştirmenize gerek yoktur. Android Test Uygulaması Projesinde herhangi bir değişiklik yapılmadan birçok şey test edilebilir. Android Test Uygulaması projesi, Android Kitaplığı projeniz ile Android Kitaplığı projesinin Android Junit aracılığıyla test edilmesini mümkün kılan Android Junit projesi arasında bir köprüdür.
- Android Test Uygulaması projesi için Java Derleme Yolu'nun Kitaplık sekmesine gidin (bu örnekte "RemingtonAndroidToolsTestApp").
- Android Kitaplık Projesi'nin jar dosyasını (bu örnekte "RemingtonAndroidTools.jar") (bu örnekte "RemingtonAndroidTools") "Kavanoz Ekle ..." düğmesini kullanarak ekleyin.
- Android Kitaplık Test Cihazı olarak hizmet verecek yeni bir Android Test projesi (örneğin "RemingtonAndroidToolsTester") oluşturun ve hedef olarak Android Test Uygulaması projesini (bu örnekte "RemingtonAndroidToolsTestApp") seçin.
- Android Kitaplık Test Aracı projesi için Java Derleme Yolu'nun Kitaplık sekmesine gidin (bu örnekte "RemingtonAndroidToolsTester").
- Android Kitaplık Projesi'nin jar dosyasını (bu örnekte "RemingtonAndroidTools.jar") (bu örnekte "RemingtonAndroidTools") "Kavanoz Ekle ..." düğmesini kullanarak ekleyin.
- Android Kitaplık Test Aracı projesinde (örneğin "danny.remington.remington_android_tools_test_app.test") Android paketinizin son klasörünü bulun ve ActivityInstrumentationTestCase2'den devralan bir test sınıfı (örneğin "MainActivityTest") ekleyin.
- ActivityInstrumentationTestCase2 parametresi olarak Android Test Uygulamasının (bu örnekte "RemingtonAndroidToolsTestApp") etkinliğini (örneğin "TestActivity") kullanmak için test sınıfını (bu örnekte "TestActivityTest") düzenleyin.
- Test sınıfını (bu örnekte "TestActivityTest") düzenleyin ve super (Class) 'a bir çağrı yapan ve Android Test Uygulaması sınıfını (örneğin "TestActivity.class") ileten varsayılan bir kurucu oluşturun.
Şuna benzer görünen üç proje (Android Kitaplığı, Android Test Uygulaması, Android Kitaplık Test Edicisi) bulmalısınız:



Android Kitaplığınızı test etmek için aşağıdakine benzer bir sınıf bulmalısınız:
package danny.remington.remington_android_tools_test_app.test;
import android.test.ActivityInstrumentationTestCase2;
import danny.remington.remington_android_tools_test_app.TestActivity;
public class TestActivityTest extends
ActivityInstrumentationTestCase2<TestActivity> {
public TestActivityTest() {
super(TestActivity.class);
}
}
Daha sonra istediğiniz herhangi bir testi ekleyebilirsiniz. Android'e özgü bir bileşene (örneğin Varlıklar klasörü gibi) erişim gerektirmedikçe, testlerinizi çalıştırmak için Android Test Uygulamasına (bu örnekte "RemingtonAndroidToolsTestApp") başvurmanız gerekmeyecektir. Herhangi bir Android bileşenine erişmeniz gerekiyorsa, bunu Android Test Uygulamasını (bu örnekte "RemingtonAndroidToolsTestApp") değiştirip ardından standart Android Junit API tarafından sağlanan araçlar aracılığıyla referans göstererek yapabilirsiniz. (Bununla ilgili daha fazla bilgiyi buradan okuyabilirsiniz: http://developer.android.com/tools/testing/testing_android.html )