16

Uygulamam birçok Fragments için bir Activity oluşur birkaç parça mimarisine bir etkinlik izlerken Belirli bir Fragment nasıl test ederim?.Android Espresso:

Ben Fragments arayüzünü test etmek Espresso kullanmak istiyoruz. Ancak bir sorunla karşılaştım.

onCreate'da Activity'a eklenmeyen bir Fragment'u nasıl test edebilirim? Fragments ile gördüğüm tüm örnekler, onCreate'da eklendiğinde Fragment içerir. Peki, Espresso'ya belirli bir Fragment adresine gitmesini ve oradan başlamasını nasıl söyleyebilirim?

Teşekkür

cevap

0

Espresso onlar görüntülenir yalnızca Fragments test edebilirsiniz. Ve bu onların bir Activity tarafından görüntülenmesini gerektirir.

Şu anki kurulumunuzla, Espresso'yı click() numaralı telefona (bir kullanıcı gibi) test etmek istediğiniz Fragment'a kadar kullanmanız gerekecektir.

benim projelerden biri ben Fragments görüntüleyen bir ViewPager var. Bu Fragments için Ben bunları ayrı ayrı test etmek için özel bir FragmentTestRule kullanın. Her Fragment'u doğrudan başlatabilir ve test etmek için Espresso kullanabilirsiniz. Bakınız this answer.

Ayrıca olabilir:

  • Fragments kullanmayın. Activities'un test edilmesi daha kolaydır. Her bir Activity'u kendi başına test edebilirsiniz. Çoğu durumda Fragments, Activities'a göre avantaj sağlamamaktadır. Fragments sadece uygulamayı ve testi daha zor hale getirin.
  • oluşturulduğu zaman senin FragmentActivity doğrudan belli Fragment göstermek için etkinleştirin. Örneğin. FragmentActivity ürününüze özel bir amaç ekleyerek. Ancak bu, uygulamanıza test kodunu ekleyecektir. Bu, genellikle iyi bir çözüm değildir.
+15

Parçalar kullanmayın ??? –

+0

[FragmentTestRule] (https://github.com/21Buttons/FragmentTestRule) bağlantılı cevabın bir uygulamasıdır. –

+7

Fragmanlar, aktivitelerden daha hızlı yüklenir (hatta belleğe önceden yüklenebilir), modülerleştirmeye ve bileşenlerin yeniden kullanılmasına izin verir ve tam ekran gösterilmeleri gerekmez (bunlar başka bir görünüm gibi bir düzende yerleştirilebilir)). Fragmanlar çok popülerdir çünkü bir Etkinlik üzerinde çok fazla gelişirler. Fragmanların hiçbir avantaj sunmadığını söylemek inanılmaz derecede yanlıştır ve bunları kullanmanın yararı test zorluğundan daha ağır basmaktadır. – OldSchool4664

İlgili konular