#swift #unit-testing #testing
Вопрос:
итак, в настоящее время мне нужно немного почиститься — я делаю много вещей с помощью HealthKit… У меня есть куча тестов, которые являются «настоящими» тестами, но затем у меня есть куча тестов, в которых я использую тестовый код только для генерации значений, потому что я обычно тестирую на симуляторах, и если вам нужен график, вам нужна целая куча исторических значений, например.
поэтому, конечно, я нажал не на ту кнопку — и я просто заполнил свое реальное устройство поддельными данными HealthKit. К счастью, он помечен, поэтому в настоящее время я создаю что-то, чтобы удалить все это…
но есть ли способ либо идентифицировать тест как «это никогда не должно выполняться на физическом устройстве», либо просто обнаружить внутри теста, что я нахожусь на физическом устройстве и проваливаюсь?
Комментарии:
1. Стандартный тест для симулятора против устройства не работает?
2. Я не знаю, что такое стандартный тест
3. Можете ли вы просто издеваться над healthkit, чтобы никогда не редактировать его содержимое по-настоящему?
Ответ №1:
Вы можете найти это полезным:
Состояние платформы целевой среды
Вы бы сделали что-то подобное в своем модульном тесте:
func testExample() throws {
#if targetEnvironment(simulator)
// whatever your assertions are
#else
// doing nothing here
#endif
}
Комментарии:
1. это именно то, что я искал — спасибо!