У меня есть конструктор для LoginPageBlo c, как показано ниже
LoginPageBloc(
{@required this.dataRepository,
})
: assert(null != dataRepository);
, когда я использую тест трепетания --coverage, операторы утверждения исключаются. почему ??
Затем я проверил репозиторий dart-lang на наличие открытых проблем и обнаружил this .
Этот общий результат также показывает ту же проблему (обнаруженную в этой проблеме git репо).
Но этот статус проблемы закрыт, и я обнаружил следующее сообщение @ ZichangG.
VM использует функцию звонки для определения. Выполненные вызовы будут рассматриваться как попадание.
Если вычисляется переменная, например, assert (mode == null), будет вызываться неявная функция получения, если она не является локальной переменной. В этом случае assert (callback! = Null) callback является локальной переменной и здесь также не вызывается.
Когда выполняемые функции оцениваются, мы устанавливаем первую позицию токена этой функции как удар. Вероятно, это причина того, что строка типа assert (() {будет помечена как нажатая. Поскольку в этой строке запускается функция замыкания.
Мне трудно понять вышеприведенное сообщение @ZichangG.
К сожалению, я все еще испытываю ту же проблему. Только из-за этих утверждений утверждения я не могу достичь 100% покрытия кода.
почему покрытие теста флаттера не охватывает заявления утверждения?
Не могли бы вы объяснить мне причину этого и что я должен сделать, чтобы избежать этого?