Вот код.
Код: Выделить всё
@RunWith(AndroidJUnit4::class)
class TasksViewModelTest {
// Subject under test
private lateinit var tasksViewModel: TasksViewModel
// Executes each task synchronously using Architecture Components.
@get:Rule
var instantExecutorRule = InstantTaskExecutorRule()
@Before
fun setupViewModel() {
tasksViewModel = TasksViewModel(ApplicationProvider.getApplicationContext())
}
@Test
fun addNewTask_setsNewTaskEvent() {
// When adding a new task
tasksViewModel.addNewTask()
// Then the new task event is triggered
val value = tasksViewModel.newTaskEvent.getOrAwaitValue()
assertThat(
value.getContentIfNotHandled(), (not(nullValue()))
)
}
@Test
fun getTasksAddViewVisible() {
// When the filter type is ALL_TASKS
tasksViewModel.setFiltering(TasksFilterType.ALL_TASKS)
// Then the "Add task" action is visible
assertThat(tasksViewModel.tasksAddViewVisible.getOrAwaitValue(), `is`(true))
}
}
- Мой вопрос: то же самое касается и Roboelectric, который попадает в инструментальный тест (который принадлежит папке AndroidTest) или unitTest, потому что кажется, что я не могу запустить тест, потому что он зависает на неопределенный срок.
- Еще один мой вопрос: как настроить физическое устройство для работы с прибором и эффективно проводить комплексное тестирование. Во многих случаях вам необходимо установить приложение, активировать отображение всплывающих окон во время работы в фоновом режиме для каждого приложения и запустить тестирование. Есть ли альтернативный способ проведения прибора/сквозного тестирования на физическом устройстве?
Я смотрю на какой-то ТАКОЙ вопрос о запуске теста на физическом устройстве, но ни один из них не удовлетворяет мой вопрос.
Подробнее здесь: https://stackoverflow.com/questions/791 ... trument-te
Мобильная версия