私がテストしている関数が呼び出されたときに変数をtrueに設定するSwiftの模擬例に従っていますが、わからないのは、サブクラスではモックであり、それからメソッドの親のレンディションを返します。私はオーバーライドの仕方を想定していました。私たちが望むロジックで関数を書き直すことを前提としていました。私たちがこれを行ったとき、元の関数を格納している親クラスは、ここでSwiftのモックからスーパーを呼び出す
はサンプルコードです:
extension ItemListDataProviderTests{
class MockTableView: UITableView {
var cellGotDequeued = false
override func dequeueReusableCell(withIdentifier identifier: String, for indexPath: IndexPath) -> UITableViewCell {
cellGotDequeued = true
return super.dequeueReusableCell(withIdentifier: identifier, for: indexPath)
}
}
はどのようにオーバーライドされた関数を呼び出すとtrueにテスト変数を設定し、親メソッドを返すのですか?スーパーを呼び出すことによって、親のロジックを実行し、子のオーバーライドされたメソッドを起動しないと仮定しました。
私はこのコードを知っていると思います。 :) 驚くばかり! – dasdom
確かに! 2回目にあなたの本を読んで、テストを書くことでOOPをよく理解してください。とても良いです。 –