You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: api-design/testing.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ It's not exactly a pyramid, but you get the idea.
35
35
36
36
At the base, we have **unit tests**. These are the tests that verify the internal workings of your API. They're important for maintaining code quality and catching regressions, but they don't tell us much about how the API behaves from a consumer's perspective, so we'll limit their scope and keep them private.
37
37
38
-
In the middle, we've added **contract tests**. These tests verify that the API's contract with consumers is upheld. They're a step up from unit tests because they verify the API's behavior at its boundaries. We've covered contract testing in detail in a [previous post](https://www.speakeasy.com/post/contract-testing-with-openapi).
38
+
In the middle, we've added **contract tests**. These tests verify that the API's contract with consumers is upheld. They're a step up from unit tests because they verify the API's behavior at its boundaries. We've covered contract testing in detail in a [previous post](/blog/contract-testing-with-openapi).
39
39
40
40
We'll focus on **integration tests** at the top-middle layer of the pyramid. These tests verify the API's behavior from a consumer's perspective. They're the most relevant tests for API consumers because they show exactly how the API behaves in different scenarios.
41
41
@@ -415,7 +415,7 @@ While sharing your API's behavioral tests provides tremendous value, there are s
415
415
416
416
### Contract testing
417
417
418
-
Investigate tools like [Pact](/post/pact-vs-openapi) that formalize the provider-consumer contract. These approaches complement public tests by allowing consumers to define their expectations explicitly.
418
+
Investigate tools like [Pact](/blog/pact-vs-openapi) that formalize the provider-consumer contract. These approaches complement public tests by allowing consumers to define their expectations explicitly.
Copy file name to clipboardExpand all lines: docs/sdks/create-client-sdks.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,7 +158,7 @@ Saved changes in the Studio automatically triggers a regeneration of the SDK loc
158
158
}}
159
159
/>
160
160
161
-
It is also possible to make changes without the Studio. Check out the following guide on [customizing SDKs](/docs/customize-sdks/) for all the details.
161
+
It is also possible to make changes without the Studio. Check out the following guide on [customizing SDKs](/docs/sdks/customize/basics) for all the details.
Copy file name to clipboardExpand all lines: docs/sdks/languages/golang/oss-comparison-go.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,7 +141,7 @@ To start our comparison, we installed all four generators on a local machine run
141
141
142
142
### Installing the OpenAPI Generator CLI
143
143
144
-
OpenAPI Generator depends on Java, [which we covered at length previously](/post/speakeasy-oss-python-generator#our-experience-installing-the-openapi-generator-cli). We concluded that managing the OpenAPI Generator Java dependencies manually just wasn't worth the effort.
144
+
OpenAPI Generator depends on Java, [which we covered at length previously](/docs/sdks/languages/python/oss-comparison-python#preparing-the-sdk-generators). We concluded that managing the OpenAPI Generator Java dependencies manually just wasn't worth the effort.
145
145
146
146
Installing `openapi-generator` using Homebrew installs `openjdk@11` and its many dependencies:
Copy file name to clipboardExpand all lines: docs/sdks/languages/java/oss-comparison-java.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ Below is a table that summarizes the key differences between the two SDKs:
36
36
]}
37
37
/>
38
38
39
-
Read more about these headline features of Speakeasy-created Java SDKs in the [March 2024 release notes](/post/release-java-ga), or consult the [Speakeasy Java SDK documentation](/docs/languages/java/methodology-java).
39
+
Read more about these headline features of Speakeasy-created Java SDKs in the [March 2024 release notes](/blog/release-java-ga), or consult the [Speakeasy Java SDK documentation](/docs/languages/java/methodology-java).
Copy file name to clipboardExpand all lines: docs/sdks/languages/php/oss-comparison-php.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ import { Table } from "@/mdx/components";
6
6
7
7
Many of our users have switched from [OpenAPI Generator](https://openapi-generator.tech/) to Speakeasy for their PHP SDKs. Learn how to use both SDK creators in this guide, and the differences between them.
8
8
9
-
Open-source OpenAPI generators are great for experimentation but lack the reliability, performance, and intuitive developer experience required for critical applications. As an alternative, Speakeasy creates [idiomatic SDKs](/post/client-sdks-as-a-service) that meet the bar for enterprise use.
9
+
Open-source OpenAPI generators are great for experimentation but lack the reliability, performance, and intuitive developer experience required for critical applications. As an alternative, Speakeasy creates [idiomatic SDKs](/blog/speakeasy-vs-openapi-generator) that meet the bar for enterprise use.
10
10
11
11
Here's the high-level summary of the differences between Speakeasy and OpenAPI Generator:
Many of our users have switched from [OpenAPI Generator](https://openapi-generator.tech/) to Speakeasy for their Python SDKs. Learn how to use both SDK creators in this guide, and the differences between them.
11
11
12
-
Open-source OpenAPI generators are great for experimentation but lack the reliability, performance, and intuitive developer experience required for critical applications. As an alternative, Speakeasy creates [idiomatic SDKs](/post/client-sdks-as-a-service) that meet the bar for enterprise use.
12
+
Open-source OpenAPI generators are great for experimentation but lack the reliability, performance, and intuitive developer experience required for critical applications. As an alternative, Speakeasy creates [idiomatic SDKs](/blog/speakeasy-vs-openapi-generator) that meet the bar for enterprise use.
13
13
14
14
In this post, we'll focus on Python, but Speakeasy can also create SDKs in Go, TypeScript, Java, Ruby, PHP, and more.
15
15
16
16
<Callouttitle="View More Comparisons"type="info">
17
-
-[Read about the differences between TypeScript SDKs generated by Speakeasy and OpenAPI Generator.](/post/speakeasy-sdk-vs-openapi-typescript-generator/) <br/>
18
-
-[Read about the differences between Go SDKs generated by Speakeasy and OpenAPI Generator.](/post/speakeasy-oss-go-generator)
17
+
-[Read about the differences between TypeScript SDKs generated by Speakeasy and OpenAPI Generator.](/docs/sdks/languages/typescript/oss-comparison-ts) <br/>
18
+
-[Read about the differences between Go SDKs generated by Speakeasy and OpenAPI Generator.](/docs/sdks/languages/golang/oss-comparison-go)
19
19
</Callout>
20
20
21
21
Here's a summary of the major differences between a Python SDK created using Speakeasy, compared to an SDK created by the OpenAPI Generator. Unless support for Python 3.9 or earlier is critically important, Speakeasy is recommended for Python SDKs.
@@ -507,7 +507,7 @@ The OpenAPI Generator class also has to include many boilerplate methods for Pyd
507
507
508
508
### Open enums
509
509
510
-
Speakeasy allows adding the custom attribute `x-speakeasy-unknown-values` to an OpenAPI field to allow [open enums](/post/open-enums).
510
+
Speakeasy allows adding the custom attribute `x-speakeasy-unknown-values` to an OpenAPI field to allow [open enums](/blog/open-enums).
0 commit comments