2015-02-10 16 views
6

Przeczytałem, istnieje wiele obszernych odpowiedzi (takich jak this one), ale świat Androida ewoluuje tak szybko, że wydają się być nieco przestarzałe, a official documentation nadal odnosi się do Eclipse z ADT.Android Studio 1.1, prosta konfiguracja testu junit

Używam AS 1.1 i próbuję skonfigurować proste testy junit, aby działały na emulatorze, bez Robolectric. Jeśli nie dołączę junit do mojego build.gradle, nie mogę znaleźć @After, @Before i @Test i otrzymam package org.junit does not exist. Po dodaniu

// unit tests 
androidTestCompile 'junit:junit:4.11' 

błąd staje

Error:duplicate files during packaging of APK 
[...]/app/build/outputs/apk/app-debug-test-unaligned.apk 
Path in archive: LICENSE.txt 
Origin 1: [...]/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar 
Origin 2: [...]/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar 
You can ignore those files in your build.gradle: 
android { 
    packagingOptions { 
    exclude 'LICENSE.txt' 
    } 
} 

zgodnie z sugestią konsoli bez license.txt, to wtedy działa, ale wydaje się, jakby hack. Zastanawiam się, czy może czegoś brakuje? Dzięki.

+0

To sposób, w jaki robią to w naszym projekcie i wydaje się być oczekiwany sposób. – Joel

+0

Wyklucz LICENSE.txt to normalna praktyka :) (a także META-INF/LICENSE.txt i META-INF/NOTICE.txt) – jademcosta

+0

Masz ten sam problem, gdzie znajdują się twoje testy? – user1408682

Odpowiedz

3

Obsługa testów w Androidzie Studio jest dostępna w wersji 1.1 Beta 4 (release announcement) z wtyczką Gradle w wersji 1.1.0-rc1. Więcej informacji pod numerem official document.

Jednak na razie jest to funkcja eksperymentalna. Na przykład. it breaksinstallDebug zadanie gradle.

Do korzystania z JUnit w testach instrumentacyjnych jest good guide dla biblioteki Espresso i another obejmujące nowy AndroidJUnitRunner.

1

Jeśli to w jakimkolwiek stopniu, przygotowałem projekt płyty kotła umożliwiający stosowanie testów jednostkowych i testów espresso przy użyciu przełączania wariantów budowy. W tym celu nie będziesz potrzebować żadnych wtyczek innych firm.

https://github.com/hitherejoe/Android-Boilerplate

+0

Wielkie dzięki za to! Zaoszczędził mi dużo czasu :) –

+0

bez problemu! Będę aktualizować go w ciągu najbliższych kilku dni z nową wersją robolectric etc - ciesz się! –

Powiązane problemy