2016-01-27 12 views
5

Ho importato un progetto eclissi in Android StudioCome disattivare test di unità Android Studio (androidTest)

In qualche modo capito che un altro uno dei miei progetti Eclipse conteneva codice unità-test per il progetto importato

ha portato in quel codice e metterlo in una src/androidTest dir

non volevo davvero fare quello, ma ora ci sono e causando l'accumulo di fallire

c'è un modo per disattivare la roba AndroidTest? Quindi posso concentrarmi sul fatto che l'app in realtà costruisca?

Forse tramite impostazione gradle? (Questa è la mia prima esposizione a Gradle)

Forse ho solo bisogno di cancellare tutti i file java androidTest ma questo sembra un po 'finale ..

+1

Quello che devi fare come soluzione alternativa è creare la tua app andando su "Gradle projects" -> ": app" (o come la tua directory dell'app chiama) -> "build". Ti verrà compilato un apk. (o creare la configurazione "Applicazione Android" con parametri predefiniti e modulo appropriato - e quindi eseguirla, invece di ricostruire/creare completamente l'intero progetto). Cioè l'idea è di evitare di costruire l'intero progetto, a meno che non ne abbia effettivamente bisogno, ma costruendo l'app. –

+1

Inoltre, se non si desidera eliminare tutti i file, è possibile rinominare la cartella "androidTest" con qualcosa come "_androidTest" e non verranno più visualizzati in Project. –

risposta

5

Una volta fatto Ricostruire il progetto in Android Studio - tutti i file di origine nel progetto sono ricompilati. Un sacco di attività diverse iniziano con :compileDebugAndroidTestJavaWithJavac che sta causando l'interruzione di build, una volta che i tuoi Test strumentali non sono compilabili.

enter image description here

Calling per la ricostruzione in Android Studio è solo un'interfaccia utente per il passaggio di queste attività per Gradle:

compiti Gradle [: Applicazione: generateDebugSources, : Applicazione: generateDebugAndroidTestSources, : app: prepareDebugUnitTestDependencies,: app: mockableAndroidJar, : Applicazione: compileDebugSources,: app: compileDebugAndroidTestSources, : app: compileDebugUnitTestSources]

I.e. non c'è un modo ovvio come può essere modificato.

Soluzioni alternative:

  • commento fuori file corrotti in androidTest
  • rimuovere/rinominare androidTest directory
  • progetto di costruzione con Android plugin for Gradle e passando tutti i comandi, oltre a quelli relativi to InstrumentalTests
  • evitare la creazione/ricostruzione della soluzione, basta aggiungere (se non esiste ancora) la configurazione dell'applicazione Android e costruire l'app stessa, senza test strumentali

Spero che sia d'aiuto.

+0

è andato con anteporre un _ a androidTest. Impossibile vedere come rinominare la directory all'interno di Android Studio, così l'ho fatto in emacs – bph

2

Qualcuno potrebbe trovare questo utile: se si utilizza JUnit c'è un comando @Ignore è possibile mettere su un metodo di prova per ignorare l'intero metodo di prova.

Esempio:

@Ignore("This test will be ignored") 
@Test 
public void my_test_method() { 
    // test code here... 
} 
2

inserire questo codice in script Gradle della tua app:

tasks.whenTaskAdded { task -> 
    if (task.name.equals("lint")) { 
     //this is for speed up build 
     task.enabled = false 
    } 
    if(task.name.contains("Test")) 
    { 
     //this is what you need 
     task.enabled = false 
    } 
} 

Quando Gradle aggiungere un compito, questo codice ll nome compiti di controllo. se questa attività è 'lint' (check here) che non è necessaria per ogni build. se questa attività ha una parola 'Attività', possiamo saltare se vogliamo.

:app:preDebugAndroidTestBuild SKIPPED 
:app:compileDebugAndroidTestAidl SKIPPED 
:app:processDebugAndroidTestManifest SKIPPED 
:app:compileDebugAndroidTestRenderscript SKIPPED 
:app:generateDebugAndroidTestBuildConfig SKIPPED 
:app:generateDebugAndroidTestResValues SKIPPED 
:app:generateDebugAndroidTestResources SKIPPED 
:app:mergeDebugAndroidTestResources SKIPPED 
:app:splitsDiscoveryTaskDebugAndroidTest SKIPPED 
:app:processDebugAndroidTestResources SKIPPED 
:app:generateDebugAndroidTestSources SKIPPED 

Non so quali sono questi compiti. Ma quando salgo sul mio progetto non ha effetto se non la velocità (non molto perché non ho i file di test) che è un dolore al sistema di costruzione gradle.

Spero che questo ti possa aiutare.

+0

Le risposte solo in codice sono scoraggiate perché non spiegano come risolvono il problema. Si prega di aggiornare la risposta per spiegare come questo migliora le altre risposte accettate e potenziate che questa domanda ha già. Si prega di rivedere [Come scrivere una buona risposta] (https://stackoverflow.com/help/how-to-answer). – FluffyKitten

+0

Grazie per il commento. Sono nuovo di gradle. Anche il mio inglese non è abbastanza per raccontare i dettagli. Ricevo sempre aiuto dal sito. Ho pensato che potesse aiutare qualcuno, in qualche modo. Posso cancellarlo se vuoi. – burakokur

+0

Grazie per aver aggiornato la tua risposta! Non preoccuparti del tuo inglese, altri utenti possono modificarlo per migliorare il testo finché capiamo cosa stai cercando di spiegare :) – FluffyKitten

Problemi correlati