Actualmente estoy usando Mapbox para una aplicación React y estoy tratando de realizar pruebas unitarias, pero parece que no funciona. Configuré Mapbox testMode en verdadero y todavía me da un error que dice:
Error: Failed to initialize WebGL. at new Map (C:\Users\...\node_modules\mapbox-gl\dist\mapbox-gl.js:35:427889)El siguiente fragmento es cómo generamos el componente mapbox que también recibe una variable de prueba para establecer el modo de prueba.
const MapBox = (props: MapBoxProps) => { const { floorPlan, isTest } = props; const { width } = useWindowDimensions(); const mapContainer = useRef(null); const map = useRef(null); const [lng, setLng] = useState(48); const [lat, setLat] = useState(25); const [zoom, setZoom] = useState(1.8); const createMapbox = () => { if (!isTest) { mapboxgl.accessToken = appConfig.MAPBOX_TOKEN; } const mb = new mapboxgl.Map({ attributionControl: false, container: mapContainer.current, testMode: isTest, style: { version: 8, sources: {}, layers: [ { id: "background", type: "background", paint: { "background-color": "white", }, }, ], }, center: [lng, lat], zoom: zoom, maxZoom: 6, dragRotate: false, }); mb.addControl(new mapboxgl.NavigationControl({ showCompass: false })); return mb; }; return <div data-cr="mapbox-container" ref={mapContainer} />; }Y el código para probar nuestro componente CustomMapBox es el siguiente:
const renderMapBox = () => { return render(<CustomMapBox floorPlan={mockedFloorPlan} isTest={true} />); }; describe("MapBox", () => { it("renders without error and two floors", () => { renderMapBox(); }); }He intentado:
Y nada parece funcionar.
Versiones:
"mapbox-gl": "^2.8.2", "react": "^17.0.2", "react-dom": "^17.0.2", "ts-jest": "^27.0.7", "jest": "^27.3.1",Realmente agradecería si alguien pudiera ayudarme. Saludos, Daniel