Mockery
oapi-codegen
Mockery | oapi-codegen | |
---|---|---|
3 | 65 | |
10,565 | 5,237 | |
0.1% | 2.7% | |
9.4 | 9.1 | |
7 days ago | about 14 hours ago | |
PHP | Go | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Mockery
-
I share my authentication server.
Continuous Integration - Testify, sqlmock, Mockery, Github Actions
-
Test doubles
Mockery is another framework for creating test doubles. It can be used with PHPUnit, phpspec, Behat, or any other testing framework. I find it especially powerful when working with legacy code, due to its support for creating partial mocks or mocking hard dependencies.
-
Testing with immutable PSR-7 objects and Prophecy
This works great if a method is tested that modifies and returns an object; we'll get an instance of that object and we are able to run all sorts of assertions on it. But what if this is not the case. What if we have a situation where a value object is passed as a parameter, some modifications are done and the value object is passed to another object. Something like the middleware from the example earlier. Some testing frameworks like Mockery offer spies to test these situations. When using Prophecy this situation can be handled using Argument::that():
oapi-codegen
- TypeSpec: A New Language for API-Centric Development
-
The Stainless SDK Generator
what’s the difference between this and https://github.com/deepmap/oapi-codegen
-
AsyncAPI Codegen, a code generator from AsyncAPI spec v2 and v3.
During daytime, and especially work time, I used a great tool to generate code from OpenAPI specification: deepmap/oapi-codegen.
-
Created an API using Gin, want to create sdk for him
Then you can use oapi-codegen or openapi-generator to generate the Go (or other language) SDK for it.
-
Create Production-Ready SDKs with Goa
Deepmap OpenAPI code generator
-
Manage DEV Articles with Git and GitHub Actions
Luckily, Forem/DEV is open source and provides great API documentation and specification. I used oapi-codegen to automatically generate a Go API client. Then, I simply had to walk the root articles directory and:
-
oapi-codegen and local refs
I'm using https://github.com/deepmap/oapi-codegen to auto gen some types for my api as I want the contract to be the source of truth. However, I'm running into an issue, the same as (https://stackoverflow.com/questions/77237210/how-to-generate-models-from-openapi-with-ref) where oapi-codegen isn't recognizing references to local files. Has anyone run into this and found a work around? or is there a better tool to use for this
- OpenAPI Client and Server Code Generator for Golang
-
Openapi server generation
For Go, I've found https://github.com/deepmap/oapi-codegen/, and it works well.
-
Combining oapi-codegen, echo and validator frameworks to build robust APIs
I’m using oapi-codegen in my project and I don’t think it ships with a validator.
What are some alternatives?
Prophecy - Highly opinionated mocking framework for PHP 5.3+
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
PHPUnit - The PHP Unit Testing framework.
GoSwagger - Swagger 2.0 implementation for go
Faker
ogen - OpenAPI v3 code generator for go
AspectMock - The most powerful and flexible mocking framework for PHPUnit / Codeception.
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
Phake - PHP Mocking Framework
go-oas3 - Open API v3 server code generator
Codeception - Full-stack testing PHP framework
autorest - OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python