Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 2.51 KB

CONTRIBUTING.md

File metadata and controls

50 lines (35 loc) · 2.51 KB

Contributing to Testify

So you'd like to contribute to Testify? First of all, thank you! Testify is widely used, so each contribution has a significant impact within the Golang community! Below you'll find everything you need to know to get up to speed on the project.

Philosophy

The Testify maintainers generally attempt to follow widely accepted practices within the Golang community. That being said, the first priority is always to make sure that the package is useful to the community. A few general guidelines are listed here:

Keep it simple (whenever practical) - Try not to expand the API unless the new surface area provides meaningful benefits. For example, don't add functions because they might be useful to someone, someday. Add what is useful to specific users, today.

Ease of use is paramount - This means good documentation and package organization. It also means that we should try hard to use meaningful, descriptive function names, avoid breaking the API unnecessarily, and try not to surprise the user.

Quality isn't an afterthought - Testify is a testing library, so it seems reasonable that we should have a decent test suite. This is doubly important because a bug in Testify doesn't just mean a bug in our users' code, it means a bug in our users' tests, which means a potentially unnoticed and hard-to-find bug in our users' code.

Pull Requests

We welcome pull requests! Please include the following in the description:

  • Motivation, why your change is important or helpful
  • Example usage (if applicable)
  • Whether you intend to add / change behavior or fix a bug

Please be aware that the maintainers may ask for changes. This isn't a commentary on the quality of your idea or your code. Testify is the result of many contributions from many individuals, so we need to enforce certain practices and patterns to keep the package easy for others to understand. Essentially, we recognize that there are often many good ways to do a given thing, but we have to pick one and stick with it.

See MAINTAINERS.md for a list of users who can approve / merge your changes.

Issues

If you find a bug or think of a useful feature you'd like to see added to Testify, the best thing you can do is make the necessary changes and open a pull request (see above). If that isn't an option, or if you'd like to discuss your change before you write the code, open an issue!

Please provide enough context in the issue description that other members of the community can easily understand what it is that you'd like to see.