0

Ich möchte einen Espresso Instrumentierungstest für meine Anwendung durchführen. Test enthält die Navigation zu mehreren Aktivitäten und Interaktionen mit mehreren Widgets.Espresso Best Code Architektur

Was könnte der bestmögliche Codierungsstil sein, dem ich folgen sollte, um Code klar und wartbar zu halten.

Vorerst hatte ich andere Klasse für jede Aktivität und Zugang statischen Testverfahren wie folgt erstellen:

@Test 
public void validateUserNavigationScenario() { 
    // Create a bitmap we can use for our simulated camera image 
    SignOnActivity.validateLogin(); 

    ProductSelector.selectProduct(); 

    ProductDetail.showProductDetails(); 

    ProductDetail.addProductToCart(); 

    pressBack(); 

    ProductSelector.selectProduct(); 

    // ... additional test steps and validation ... 
} 

Antwort

3

Coding Testcode von Codierung Produktionscode nicht anders.

Die gleichen guten Muster und Gewohnheiten, die für den Produktionscode verwendet werden, sollten im Testcode vorhanden sein. Die Verwendung von statischen Referenzen als Hauptansatz zur Strukturierung aller Ihrer Anzüge scheint mir eine schlechte Entscheidung zu sein.

Sie sollten es überprüfen Jake Wharton spricht darüber, wie Sie Ihren Test-Code strukturieren.

Instrumentation Testing Robots

Es ist Fokus auf Kotlin Entwicklung, aber die gleichen Grundsätze gelten für Java. Um es aufzufrischen, wird behauptet, dass Sie Ihre internen Details in einem "Roboter" -Muster verstecken sollten. Das bedeutet, dass Sie versuchen sollten, mit Ihrer Exploiting-API so weit wie möglich semantisch zu sein, um lesbare und wartbare Tests zu erstellen.

Denken Sie an Ihren Test, als ob sie für andere Entwickler verwendet werden würden, und denken Sie dann, dass Sie einer von ihnen sind. Wie willst du sie benutzen?

+0

Können Sie mir bei dieser Frage helfen: http://stackoverflow.com/questions/38455085/espresso-select-item-from-adapter-view – Krishnakant