Я тестирую реагировать неместных компоненты с шуткой, и я часто использую такие вещи, как это в моих стилях:Как установить платформу на тестовой основе для тестов на шутки?
import { StyleSheet, Platform } from 'react-native';
export default StyleSheet.create({
container: {
paddingTop: Platform.OS === 'ios' ? 30 : 10,
}
});
Проблема у меня в том, что в тестах шутя Platform.OS
всегда 'ios'
, что означает, что ветвь андроида не проходит тестирование.
This позволяет мне думать, что я мог бы изменить это с помощью jest config, но поскольку я не хочу менять его глобально, но на основе теста это не имеет никакого смысла.
Вы пытались использовать переменные среды? –
Эта проблема больше связана с файлами с расширениями для платформы, чем с условными условиями платформы, но, возможно, вы могли бы прокомментировать там свою проблему: https://github.com/facebook/jest/issues/1370. – Tomty
Кроме того, это отнюдь не очень изящное решение, но вы можете попробовать подход, упомянутый как часть https://github.com/facebook/jest/issues/1738. А именно, просто нужно «реагировать-native» и прямо назначать значение «Platform.OS» перед запуском теста. – Tomty