В тестовом проекте для моего приложения Android у меня первоначально была серия тестов для нескольких классов низкого уровня. На низком уровне я имею в виду, что они не являются деятельностью, услугами или чем-то конкретным. Это просто занятия, выполняющие некоторые работы в соответствии со спецификациями. Они ретранслируют хотя по некоторой информации из контекста приложения: база данных, некоторые ресурсы и т. Д.Единичные тесты классов андроидов
Все тесты были зелеными, и я был счастлив. После того, как я добавил еще один тестовый класс в линейку, чтобы протестировать действие, я неожиданно начал работать с моим зеленым тестом. Добавленные мной тесты активности являются зелеными, но некоторые из тестов, которые раньше были зелеными, теперь генерируют исключение.
Из следа dalvik это похоже на то, что мои проверенные зеленые тесты не нуждаются ни в чем, кроме контекста приложения, система по-прежнему пытается возобновить какую-либо деятельность (не та, которую я пытался выполнить с помощью теста новые тесты).
Итак, вот мой вопрос: как я могу тестировать класс, который требует только контекста приложения, но ничего другого? Как я могу препятствовать тому, чтобы среда выполнения пыталась запустить какие-либо действия, о которых я не забочусь?
Взгляните на [Robotium] (http://code.google.com/p/robotium/), он работает очень хорошо. Если вы использовали Selenium, некоторые аспекты должны быть знакомы. – Android
@ Андроид Он хочет провести единичный тест. Robotium предназначен для тестирования [черный ящик] (http://en.wikipedia.org/wiki/Black-box_testing), а не модульного тестирования. Если вы действительно хотите [unit test] (http://en.wikipedia.org/wiki/Unit_testing) Android-приложения, Robolectric - единственный способ пойти. –