일단 에러가 아니라 경고임
SpotifyAccessTokenResponseDTO
는 Molio 앱 타겟에 정의된 타입
테스트 타겟에서 SpotifyAccessTokenResponseDTO
의 익스텐션으로 Equatable
프로토콜을 채택함
⇒ 테스트 시 값의 일치 여부를 확인하고 싶지만, 실제 앱에서는 같은지를 비교할 필요가 없어서
그래서 테스트 타겟의 SpotifyAccessTokenResponseDTODummy.swift
파일에 아래와 같이 익스텐션으로 프로토콜을 채택했더니
import Foundation
@testable import Molio
extension SpotifyAccessTokenResponseDTO: **Equatable** {
public static func == (lhs: SpotifyAccessTokenResponseDTO, rhs: SpotifyAccessTokenResponseDTO) -> Bool {
let isAccessTokenEqual = lhs.accessToken == rhs.accessToken
let isTokenTypeEqual = lhs.tokenType == rhs.tokenType
let isExpiredInEqual = lhs.expiresIn == rhs.expiresIn
return isAccessTokenEqual && isTokenTypeEqual && isExpiredInEqual
}
}
extension SpotifyAccessTokenResponseDTO {
static let dummyData: Data =
#"""
{
"access_token": "BQB6u7vBjWYPp3zHwRwV9Nmb9MC280UBk2poWgeSuOYmScPmlMiEeENy3oG6sB2Dy2_jsPeSjmhI5fnKXe5EMoc0XLNQ_2cyIpH_GnLEdadMroAIw2c",
"token_type": "Bearer",
"expires_in": 3600
}
"""#.data(using: .utf8)!
}
“Extension declares a conformance of imported type 'SpotifyAccessTokenResponseDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Molio' introduce this conformance in the future”
@retroactive
를 추가하면 이 경고가 사라진다고 한다.
그래서 아래와 같이 @retroactive
를 추가해주면 경고가 사라진다.