Skip to content

[New Output] Swift Testing parametrized tests are not supported when reporting passes or failures #461

@andreichenchik

Description

@andreichenchik

What's the uncaptured output?

✔ Test parameterizedPassingTest(value:) with 3 test cases passed after 0.001 seconds.
✘ Test parameterizedFailingTest(value:) with 3 test cases failed after 0.028 seconds with 3 issues.
✔ Test "Named Parameterized Passing" with 3 test cases passed after 0.001 seconds.
✘ Test "Named Parameterized Failing" with 3 test cases failed after 0.001 seconds with 3 issues.

Suggested Regex

^[^ ]+ +Test (?!run\s)(.*) with (\d+) test cases? passed after ([\d.]+) seconds\.$
^[^ ]+ +Test (?!run\s)(.*) with (\d+) test cases? failed after ([\d.]+) seconds with (\d+) issue[s]?\.$

Suggested Output

✔ parameterizedPassingTest(value:) with 3 test cases (0.001 seconds)
✖ parameterizedFailingTest(value:) with 3 test cases (0.013 seconds) 3 issue(s)
✔ "Named Parameterized Passing" with 3 test cases (0.001 seconds)
✖ "Named Parameterized Failing" with 3 test cases (0.001 seconds) 3 issue(s)

Additional Context

  @Test(arguments: [1, 2, 3])
  func parameterizedPassingTest(value: Int) {
    #expect(value > 0)
  }

  @Test(arguments: [1, 2, 3])
  func parameterizedFailingTest(value: Int) {
    #expect(value > 10, "Value \(value) is not greater than 10")
  }

  @Test("Named Parameterized Passing", arguments: ["alpha", "beta", "gamma"])
  func namedParameterizedPassingTest(name: String) {
    #expect(!name.isEmpty)
  }

  @Test("Named Parameterized Failing", arguments: ["alpha", "beta", "gamma"])
  func namedParameterizedFailingTest(name: String) {
    #expect(name.count > 10, "Name '\(name)' is too short")
  }

Will add PR with fix.

Note: For some reason those lines have a hidden symbol just at the start of the line.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions