swiftlang / swiftlang/swift-testing

New Issue.Kind case for third party expectations.

Open
#490 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement public-api tools integration
Dominant language
Swift
Stars
2.2k
Forks
169
Avg merge
1d 18h
Merged PRs (30d)
56

Description

Description

Just discussed in a lab.

To better facilitate integrate with third party assertion tools, there should be a dedicated Issue.Kind case for them. Because the current expectationFailed takes in a type that is still being iterated. This new case should take in a new, kind of lightweight version of Expectation so that we don't have to open up Expectation publicly.

One terrible name suggestion: thirdPartyExpectationFailed. Let's not use that, though.

Related to https://github.com/apple/swift-testing/issues/474 & https://github.com/apple/swift-testing/pull/481

Expected behavior

No response

Actual behavior

No response

Steps to reproduce

No response

swift-testing version/commit hash

No response

Swift & OS version (output of swift --version && uname -a)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading Issue.Kind, expectationFailed, and Expectation, then review related issue #474 and pull request #481. This is design work: clarify the dedicated case and lightweight expectation representation before defining the API for third-party assertion tools without exposing Expectation publicly.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.