Ich habe dieses Projekt, das Bilder verarbeitet. Die Bibliothek, die ich für den Großteil der eigentlichen Bildverarbeitung verwende, muss erfüllt sein, damit diese Tests auf einem Android-Gerät oder einem Emulator ausgeführt werden können. Ich würde gerne ein paar Testbilder zur Verfügung stellen, die es verarbeiten sollte, die Sache ist, dass ich nicht weiß, wie man diese Dateien in die androidTest APK einbindet. Ich könnte die Bilder über den Kontext/die Ressourcen liefern, aber ich möchte meine Projektressourcen nicht verschmutzen. Haben Sie Vorschläge, wie Sie Dateien in instrumentierten Komponententests bereitstellen und verwenden können?Verwendung von Dateien in instrumentierten Komponententests
3
A
Antwort
8
Sie können Asset-Dateien zu lesen, die in Ihrem src/androidTest/assets
Verzeichnis mit dem folgenden Code sind:
Context testContext = InstrumentationRegistry.getInstrumentation().getContext();
InputStream testInput = testContext.getAssets().open("sometestfile.txt");
Es ist wichtig, den Test Kontext zu verwenden, in Bezug auf die instrumentierte Anwendung gegenüber.
So eine Bilddatei aus dem Test Asset Verzeichnis lesen Sie so etwas tun könnte:
public Bitmap getBitmapFromTestAssets(String fileName) {
Context testContext = InstrumentationRegistry.getInstrumentation().getContext();
AssetManager assetManager = testContext.getAssets();
InputStream testInput = assetManager.open(fileName);
Bitmap bitmap = BitmapFactory.decodeStream(testInput);
return bitmap;
}
Vielen Dank! – Mathijs