diff --git a/Tests/UnitTests/TestHelpers/SnapshotTesting+Extensions.swift b/Tests/UnitTests/TestHelpers/SnapshotTesting+Extensions.swift index 6443e10c97..f84dcb715f 100644 --- a/Tests/UnitTests/TestHelpers/SnapshotTesting+Extensions.swift +++ b/Tests/UnitTests/TestHelpers/SnapshotTesting+Extensions.swift @@ -163,8 +163,15 @@ private let pollInterval: DispatchTimeInterval = .milliseconds(100) private extension Encodable { func asFormattedString(backwardsCompatible: Bool) throws -> String { - return String(decoding: try self.asFormattedData(backwardsCompatible: backwardsCompatible), - as: UTF8.self) + let data = try self.asFormattedData(backwardsCompatible: backwardsCompatible) + guard let string = String(data: data, encoding: .utf8) else { + throw NSError( + domain: "EncodingError", + code: 0, + userInfo: [NSLocalizedDescriptionKey: "Provided data is not a valid UTF-8 string."] + ) + } + return string } func asFormattedData(backwardsCompatible: Bool) throws -> Data {