dart 中 child class 的单元测试

Unit test of a child class in dart

我能够为 parent class 编写单元测试,但我被困在 child class 上。如何编写 child class.

的单元测试
class Parent {

  SomeService _someService;
  SomeService get someService => _someService;
  
  Parent() {
    this._someService = SomeService();
  }
  
  Parent.withService(this._someService);

  Map<String, dynamic> getResult() {

    return _someService.getResult();
  }
}

class Child extends Parent {
  
  int useResult() {
   return someService.useResult();
  }
}

我可以通过模拟 SomeService class 来使用 mockito 测试 Parent class。我不得不为此使用构造函数 Parent.withService() 。我一直在测试 child class 的方法。如何测试childclass的方法?谢谢

我会让服务成为一个命名变量,可以传递到 class:

class Parent {    
  SomeService? _someService;
  SomeService get someService => _someService;
  
  Parent({SomeService? someService}) {
    this._someService = someService??SomeService();
  }

  Map<String, dynamic> getResult() {
    return _someService.getResult();
  }
}

class Child extends Parent {
  Child({SomeService? someService}):super(someService);
  
  int useResult() {
   return someService.useResult();
  }
}