エラーがthrowされることをテストする
@Suite final class SampleTests {
@Test func throwErrorTest() throws {
// なにかしらのエラーがthrowされることをテスト
#expect(throws: (any Error).self) {
try sample()
}
// SampleTestErrorがthrowされることをテスト
#expect(throws: SampleTestError.self) {
try sample()
}
// SampleTestError.hogehogeがthrowされることをテスト
#expect(throws: SampleTestError.hogehoge) {
try sample()
}
}
}
associatedValueの中身もテストする
@Suite final class SampleTests {
@Test func throwErrorTest() throws {
#expect {
try sample()
} throws: { error in
guard let error = error as? SampleTestError,
case let .fugafuga(code) = error
else {
return false
}
return code == 400
}
}
}