Actualmente estoy escribiendo pruebas para una especie de prueba de diagnóstico para un amigo. Hice una versión de Python y lo que quiero hacer es detener la prueba si el problema tarda demasiado. Por ejemplo, en Python así es como lo hice:
@timeout_decorator.timeout(5) def test_intersection_that_will_break_if_solution_is_too_slow(self): a = [i for i in range(0, 50000)] b = [i for i in range(0, 50000)] result = intersection.intersection(a, b) self.assertEqual(result, a)En JavaScript, en Chaijs, tengo esto, pero no sé cómo detener la ejecución después de un cierto período de tiempo. No soy el mejor en js ni en chai, pero ¿tal vez algún tipo de setTimeOut?
context('if a = [0,1,2,3...,49999] and b = [0,1,2,3...,49999] ', () => { it("should return [0,1,2,3...,49999] ", () => { const a = []; const b = []; for (let i = 0; i < 50000; i += 1) { a.push(i); b.push(i); } result = intersection(a, b); expect(result).to.eql(a); }) })Quiero saber cómo hacer eso en Chai, porque cuando hago las pruebas para un problema de Fibonacci, quiero detener la ejecución si está tardando demasiado (aunque creo que Chai/Mocha detiene la ejecución después de 2000 ms, pero yo Todavía quiero alentar a mi amigo a buscar una solución más óptima en lugar de obtener la respuesta correcta con un rojo (1193ms)).