Если порядок выполнения ваших тестов имеет значение, ваши тесты хрупкие и должны быть реорганизованы.Это означает, что они зависят друг от друга и в идеале тесты являются независимыми.Обычно большинство тестов настолько независимы и точны, что мы называем их юнит-тестами.
Распространение таких зависимостей обычно начинается с использования методов setup()
и teardown()
в TestCase.Здесь вы можете подготовиться к запуску тестов и очистить любые изменения, которые могут внести ваши тесты.
При этом android.test.InstrumentationTestRunner
не имеет возможности переписать наборы тестов.Однако это можно сделать двумя способами.
1) вы можете создать собственную реализацию android.test.InstrumentationTestRunner
, которая выполняет особый порядок.Это даст вам максимальную гибкость, но может занять больше времени.
2) am instrument
может принять имя класса в качестве аргумента, чтобы вы могли выполнять свои тесты по порядку, но выполняя несколько команд (возможно, объединенных в bashскрипт).Это делается путем добавления аргументов «-e class [classname of test]».
Кроме того, при выполнении ваших тестов возникает ошибка:
adb shell am instrument -w -e class com.android.foo.LaunchTest,com.android.foo.ContactTest com.android.foo/android.test.InstrumentationTestRunner
пытается бежать за двумя классами.Для этого вам нужно изменить это на:
adb shell am instrument -w -e class com.android.foo.LaunchTest com.android.foo/android.test.InstrumentationTestRunner
adb shell am instrument -w -e class com.android.foo.ContactTest com.android.foo/android.test.InstrumentationTestRunner