getsentry / getsentry/sentry-javascript

test: no shared conformance suite across runtimes

Đang mở
#24,052 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
javascript
Ngôn ngữ chính
TypeScript
Star
8.7k
Fork
1.8k
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
523

Mô tả

Many items in this project's issues are the same questions asked repeatedly: does this runtime propagate trace headers on its default HTTP client? Does it keep a span open for a streaming response? Does it report the right SDK name and runtime? Does double init do the same thing?

Each was found by reading one package and comparing to another. A table would have found them all at once, and would keep finding them.

**Work item.** Add a single matrix table to the repo (a test, or a generated doc) with one row per behavior and one column per runtime, covering at least:

| Behavior |
| -- |
| `sdk.name` and `sdk.packages` |
| `contexts.runtime.name` / `.version` |
| incoming server span: name, `sentry.op`, source |
| incoming server span: continues an inbound `sentry-trace` |
| outgoing default HTTP client: child span created |
| outgoing default HTTP client: `sentry-trace` + `baggage` sent |
| streaming response: span stays open until the body ends |
| streaming response: client cancel propagates upstream |
| request body capture honors `dataCollection.httpBodies` |
| `ignoreStatusCodes` drops the transaction |
| OPTIONS / HEAD produce no span |
| double `init()` behavior |
| tracing-off: tracing integrations absent |
| unhandled error in the handler is captured and rethrown |

Fill it from the existing per-runtime integration tests where they already exist, and let the empty cells drive the backlog. This is the item with the highest long-term return; every other item in this document is one cell in it.

**Prior art** Four open issues ask for more test coverage, but none of them for a cross-runtime behavior matrix:

* [#18635]()
* [#20874]()
* [#23610]()
* [#22523]()
* [#18635]() similar, but it is about running existing suites against more frameworks, not about asking every runtime the same behavioral question.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by locating the existing per-runtime integration tests and the repository's conventions for generated documentation or shared test matrices. Map the listed behaviors to existing coverage, then choose the supported matrix format and populate its current results. Done means one cross-runtime table exists, with empty cells clearly identifying missing coverage and existing tests reflected accurately.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
typescript
Lĩnh vực
testing-qa
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.