Coder Social home page Coder Social logo

sasi-007 / flutter_test_pyramid_gdg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sayeedhussain/flutter_test_pyramid_gdg

0.0 1.0 0.0 191.78 MB

Java 63.36% Kotlin 0.12% Makefile 21.49% Shell 0.15% Swift 0.13% Objective-C 0.19% Dart 14.56%

flutter_test_pyramid_gdg's Introduction

flutter_test_pyramid_spike

This project attempts to setup the test pyramid for a flutter app. The app has been layered as prescribed by ResoCoder blog https://resocoder.com/category/tutorials/flutter/tdd-clean-architecture/.

Running the project (VSCode)

Running unit + widget + golden tests

From project root (flutter_test_pyramid_spike) run flutter test in Terminal

Running Integration tests

From project root (flutter_test_pyramid_spike) run flutter drive --target=test_driver/cart_increment.dart in Terminal

Types of tests added

Dependencies

All dependencies must be specified in pubspec.yaml

  • App Dependencies

    • dartz: ^0.8.7: For using Either data type for functional style error/repsonse handling
    • http: ^0.12.0+2: For http calls
    • flutter_bloc: ^0.22.1: For adopting the BLoc design pattern (see link below).
    • equatable: ^0.6.0: So that we don't have to define equatability. Avoiding boilerplate.
    • get_it: ^1.0.3: For dependency injection
  • Test Dependencies

    • mockito: ^4.0.0: For mocking. (see link above)

Patterns/Concepts Used

Callouts

Questions

  • Service Locator design
  • Should we group golden_tests and integration tests by feature
  • Wiremock for mocking network calls

Useful links (Optional read)

flutter_test_pyramid_gdg's People

Contributors

sayeedhussain avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.