Saltar al contenido

pruebas unitarias con mockito en el ejemplo de código flutter

Investigamos en distintos espacios para de esta manera darte la respuesta para tu problema, si tienes inquietudes déjanos tu duda y te contestamos porque estamos para servirte.

Ejemplo: prueba unitaria con mockito en Flutter

import 'dart:async';
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

Future<Album> fetchAlbum(http.Client client) async 
  final response =
      await client.get(Uri.https('jsonplaceholder.typicode.com', 'albums/1'));

  if (response.statusCode == 200) 
    // If the server did return a 200 OK response,
    // then parse the JSON.
    return Album.fromJson(jsonDecode(response.body));
   else 
    // If the server did not return a 200 OK response,
    // then throw an exception.
    throw Exception('Failed to load album');
  


class Album 
  final int userId;
  final int id;
  final String title;

  Album(required this.userId, required this.id, required this.title);

  factory Album.fromJson(Map<String,dynamic> json) 
    return Album(
      userId: json['userId'],
      id: json['id'],
      title: json['title'],
    );
  


void main() => runApp(MyApp());

class MyApp extends StatefulWidget 
  MyApp(Key? key) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();


class _MyAppState extends State<MyApp> 
  late final Future<Album> futureAlbum;

  @override
  void initState() 
    super.initState();
    futureAlbum = fetchAlbum(http.Client());
  

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      title: 'Fetch Data Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Fetch Data Example'),
        ),
        body: Center(
          child: FutureBuilder<Album>(
            future: futureAlbum,
            builder: (context, snapshot) 
              if (snapshot.hasData) 
                return Text(snapshot.data!.title);
               else if (snapshot.hasError) 
                return Text('$snapshot.error');
              

              // By default, show a loading spinner.
              return CircularProgressIndicator();
            ,
          ),
        ),
      ),
    );
  

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *