Выполнение традиционных модульных тестов без пользовательского интерфейса в XTC
У моей команды есть ряд традиционных тестов, не связанных с пользовательским интерфейсом, для приложения Xamarin. Мы хотели бы запустить эти тесты в XTC, но не нашли много документации о выполнении традиционных тестов в XTC.
Мое лучшее предположение - загрузить наше приложение Xamarin Unit Test в облако, а затем использовать элементы управления пользовательского интерфейса для запуска и проверки наших модульных тестов в этом приложении. Есть ли более прямой путь, по которому я скучаю?
И опять же, чтобы было ясно, мы не хотим напрямую тестировать наше приложение. Мы спроектировали с нуля с помощью IOC, чтобы мы получили около 95% тестового покрытия без полного интеграционного тестирования.
Например, вот один из наших тестов:
[Test]
public void ExecuteThreadSafeActionThrowsNoException()
{
var test = new List<int> { 1, 2, 3 };
Assert.DoesNotThrow(() =>
{
_concurrent.ExecuteThreadSafe(() =>
{
test.Add(4);
foreach (var i in test)
{
Task.Delay(DelayTime).Wait();
}
test.Add(5);
});
});
}
Где _concurrent - это интерфейс, который имеет различные реализации в зависимости от платформы (iOS и Android) и версии ОС. Все эти тесты состоят в том, что наш многопоточный код работает как положено на нескольких устройствах.