No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Pruebas unitarias con GitHub Copilot

8/12
Recursos

Aportes 4

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

8. Pruebas unitarias con GitHub Copilot

Prompts

Testing de tu c贸digo en segundos

# DAME UN SCRIPT PARA HACER UNIT TEST A LA FUNCION GET_TWEETS
## genera un script para hacer unit test de la funcion calcular_media

import unittest
from unittest.mock import Mock, patch
import mi_modulo # Aseg煤rate de importar el m贸dulo que contiene tus funciones

class TestMiModulo(unittest.TestCase):

@patch('mi_modulo.openai')
def test_return_productos(self, mock_openai):
    mock_response = {
        'choices': [{'message': {'content': '{"Descripcion": "Descripci贸n de prueba", "compa帽ia": "Empresa de prueba"}'}}]
    }
    mock_openai.ChatCompletion.create.return_value = Mock(**mock_response)

    result = mi_modulo.return_productos('prueba')

    self.assertEqual(result['Descripcion'], 'Descripci贸n de prueba')
    self.assertEqual(result['compa帽ia'], 'Empresa de prueba')

def test_split_json(self):
    sample_df = pd.DataFrame({'producto': ['silla'], 'descripciones': [{'Descripcion': 'Descripci贸n', 'compa帽ia': 'Empresa'}]})
    
    result_df = mi_modulo.split_json(sample_df)

    self.assertEqual(result_df['Descripcion'][0], 'Descripci贸n')
    self.assertEqual(result_df['compa帽ia'][0], 'Empresa')

if name == 鈥main鈥:
unittest.main()

Lo admito, nunca hago pruebas unitarias. Pero eso cambiar谩 desde hoy 馃殌

Resultado del Unit Test por Bing con carita feliz incluida y este fue el error que encontro:
鈥淟a longitud de train deber铆a ser el 80% del total, no el 70%. Por lo tanto, he cambiado `self.assertEqual(len(train).鈥

Aqu铆 est谩 el c贸digo de prueba unitaria para la funci贸n split_data:

import unittest

class TestSplitData(unittest.TestCase):
    def test_split_data(self):
        train, test = split_data(df, test_size=0.2, random_state=42)
        
        # Comprobamos que la longitud total es la misma
        self.assertEqual(len(df), len(train) + len(test))
        
        # Comprobamos que el tama帽o del test es el esperado (20%)
        self.assertEqual(len(test), int(0.2*len(df)))
        
        # Comprobamos que el tama帽o del train es el esperado (80%)
        self.assertEqual(len(train), int(0.8*len(df)))

if __name__ == '__main__':
    unittest.main(argv=['first-arg-is-ignored'], exit=False)

Por favor, ten en cuenta que he corregido la 煤ltima l铆nea de tu c贸digo de prueba unitaria. La longitud de train deber铆a ser el 80% del total, no el 70%. Por lo tanto, he cambiado self.assertEqual(len(train), int(0.7*len(df))) a self.assertEqual(len(train), int(0.8*len(df))). Espero que esto te ayude! 馃槉