1

テストの宣言で変数型を「強制的にアンラップ」する必要がある理由がわかりません。

より明確にするために例を挙げましょう:

class testSomething: XCTestCase {

  var mockService: MockService!

  override func setUp() {
    mockService = MockService()
  }
  ...

したがって、目標は明らかに、テストを実行するたびにモック サービスの新しいインスタンスを作成することです。この変数を型として宣言する必要がある理由がわかりませんMockService!。このコンテキストで、タイプの後の感嘆符は実際には何を意味するのでしょうか?

明確にするために、mockService: MockServiceXcode を宣言すると、テスト クラスに初期化子がないと文句を言う

4

1 に答える 1

1

オプションではない変数は、宣言行で初期化する必要があります

var mockService = MockService()

またはinit()メソッドで

var mockService : MockService

init() {
  mockService = MockService()
}

これが不可能な場合は、変数を強制アンラップとして宣言し、変数がnil使用されるたびにそうでないことを確認してください。次に、非オプションのように動作します。

于 2015-09-29T07:45:32.137 に答える