0
由於Twilio Programmable Chat SDK非常複雜,我有時會遇到在應用程序中難以複製的場景,所以我決定做一些單元測試。 問題是,我無法初始化TwilioChatClient
。你有什麼想法我做錯了嗎?如何使用Swift和CocoaPods在iOS上對TwilioChatClient進行單元測試
的Xcode調試控制檯
Test Case '-[ONNTests.ONNTests testTwoClientCreation]' started.
0x7000065c6000 | 12/18/13:26:18.979 | FATAL | Chat-iOS | Error instantiating client framework path.
0x7000065c6000 | 12/18/13:26:18.980 | DEBUG | Chat-iOS | releasing chat client instance: <TwilioChatClient: 0x7fcf01552c20>
Podfile
target 'MyTests' do
pod 'TwilioChatClient', '~> 2.1.0'
end
代碼
import XCTest
import TwilioChatClient
class MyTests: XCTestCase {
var client1: TwilioChatClient?
let e1 = XCTestExpectation(description: "Download Twilio token 1")
let e2 = XCTestExpectation(description: "Create client 1 successfully")
func testTwilioClientCreation() {
TwilioChatClient.setLogLevel(.debug)
getToken { [unowned self] token in
self.e1.fulfill()
TwilioChatClient.chatClient(withToken: token, properties: nil, delegate: self) { [unowned self] (result, client) in
if result.isSuccessful() {
self.client1 = client
self.e11.fulfill()
}
}
}
wait(for: [e1, e2], timeout: 20.0)
}
func getToken(completion: @escaping (_ token: String) -> Void) {
// ...
}
}
Twilio開發人員在這裏傳播。我對iOS的測試並不知情,但我已經在內部詢問是否有其他人可以提供幫助。您是否在此測試中從外部服務中檢索令牌?一般來說,這對我來說似乎很脆弱。另外,在一個測試中實例化一個完整的'TwilioChatClient'也將建立與Twilio服務的各種連接。你可以看看嘲諷Twilio服務本身嗎? – philnash
嗨@philnash感謝您的回覆。檢索令牌對我來說工作得很好。這似乎與項目設置,路徑或類似的東西有些複雜。我知道在測試中模擬這樣的服務是一個好主意和常見方法,但我不想測試我的應用程序,但是Twilio本身。我已經在iOS的Programmable Chat SDK中發現了3個錯誤(它們已經在GitHub問題上或在您的支持服務單上),所以我只是想要一個能夠輕鬆測試/複製一些複雜場景的環境(創建頻道,邀請,接受,離開,刪除等)。 –
然後我不禁害怕,我對iOS的測試不夠了解。感謝您幫助測試SDK,我希望您發現的錯誤能夠迅速爲您解決。 – philnash