Search packages, repositories and app categories

Package detailsv0.2.0

given_when_then

A Flutter package to enable code reuse while making tests more readable.

AndroidiOSmacOSWindowsLinux
30-day downloads
34
Likes
14
Pub points
150

Install package

flutter pub add given_when_then

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter testing package that enhances test readability and promotes code reuse through a structured 'Given-When-Then' syntax. It allows developers to clearly define test scenarios by separating setup (Given), action (When), and expectation (Then) phases. This approach improves maintainability and clarity in unit and widget tests, especially in complex or repetitive test cases. The package is designed for teams prioritizing clean, expressive test code. It integrates seamlessly with existing Flutter testing frameworks.

Use cases

  • Writing readable unit tests
  • Improving widget test clarity
  • Reusing test setup logic
  • Creating maintainable test suites
  • Reducing boilerplate in test files

Key features

  • Structured 'Given-When-Then' test organization
  • Support for reusable test steps
  • Minimal API overhead
  • Compatible with Flutter's testing ecosystem
  • Encourages DRY test patterns

Suitable for

  • Test-driven development teams
  • Large-scale Flutter projects
  • Teams focused on test maintainability
  • Developers writing complex integration tests
  • Anyone wanting cleaner test code

Considerations

  • Requires understanding of BDD-style testing
  • Best used with other testing tools like mockito
  • Not a replacement for core testing frameworks
  • Limited to test environment usage
  • May add slight learning curve for new users

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter Glove Box

This repo is no longer maintained

09/12/2024 Update:

Unfortunately we have made the tough decision to no longer actively maintain this repository. While the package has served us and the community well, we don't have the capacity to give it the attention it deserves.

We realize that this decision means that open pull requests will not be merged. Our hope is that the community will rally and focus their efforts around more actively maintained packages for aiding in golden-based tests.

Once again, we want to thank each and every one of you for your contributions over the years.

Thank you for your understanding.

Best regards,

The eBay Motors App team


Contains various testing tools that eBay Motors App team is using in their development on daily basis.

License Information

Copyright 2019-2023 eBay Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of eBay Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Categories

Source repository

Projects using this package

No data available yet.