비동기 생성기에서 발생한 예외를 테스트하는 방법은 무엇입니까?

아누 라그 반 다리

내 Flutter 앱에 Stream을 반환하는 다음 메서드 가있는 저장소 클래스가 있습니다.

Stream<List<Product>> getProducts() async* {
  var currentUser = await this._auth.currentUser();

  if (currentUser == null) {
    throw AuthException('not_logged_in',
        'No current user found probably because user is not logged in.');
  }

  yield* ...
}

이 응답 SO에, 상기 방법은 비동기 함수 발생기 보이는 미세에서 예외를 발생한다.

이 메서드에서 throw 된 예외를 테스트하기 위해 테스트 ( 테스트 패키지 포함)를 어떻게 작성 합니까?

이와 같은 것이 작동하지 않습니다 .

test('should throw exception when user is not logged in', () {
  final _authSignedOut = MockFirebaseAuth(signedIn: false);
  final _repoWihoutUser = FirebaseProductRepository(
    storeInstance: _store,
    authInstance: _authSignedOut,
  );

  var products = _repoWihoutUser.getProducts();

  expect(products, emitsError(AuthException));
});

이것도 :

expect(callback, emitsError(throwsA(predicate((e) => e is AuthException))));

이것도 :

var callback = () {
  _repoWihoutUser.getProducts();
};

expect(callback, emitsError(throwsA(predicate((e) => e is AuthException))));
제임스 들린

당신은 가깝습니다. 첫 번째 시도 :

expect(products, emitsError(AuthException));

때문에 작동하지 않습니다 emitsError소요 Matcher직접 그것을 유형을 통과 할 수 있도록 인수한다. 대신 다음을 사용해야합니다 .isA<T>() Matcher

expect(products, emitsError(isA<AuthException>()));

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

단위 테스트에서 예외를 테스트하기 위해 오류를 생성하는 방법은 무엇입니까?

분류에서Dev

파일 닫기로 인해 발생한 예외를 처리하는 방법은 무엇입니까?

분류에서Dev

Ansible 기능에 대한 단위 테스트 케이스를 생성하는 방법은 무엇입니까?

분류에서Dev

Jest에서 실패한 비동기 테스트를 추적하는 방법은 무엇입니까?

분류에서Dev

JsonConverter 속성에서 발생한 예외를 포착하는 방법은 무엇입니까?

분류에서Dev

Ranorex : 예외가 발생하면 테스트 케이스를 중지하는 방법은 무엇입니까?

분류에서Dev

비동기 CUDA 호출에서 발생하는 CUDA 오류를 확인하는 방법은 무엇입니까?

분류에서Dev

Java-발생하지 않는 예외를 테스트하는 방법은 무엇입니까?

분류에서Dev

서비스 생성자에서 단위 테스트 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

테스트주기에서 테스트 케이스 수를 검색하는 쿼리를 생성하는 방법은 무엇입니까?

분류에서Dev

Undertow 작업자 스레드에서 발생한 예외를 처리하는 방법은 무엇입니까?

분류에서Dev

Cypress에서 테스트 케이스를 동적으로 생성하는 방법은 무엇입니까?

분류에서Dev

동일한 PHP 프로세스에서 비동기 명령 (CQRS)으로 새로 생성 된 엔티티를 검색하는 방법은 무엇입니까?

분류에서Dev

`before ()`에서받은 데이터를 기반으로 Cypress 테스트를 동적으로 생성하는 방법은 무엇입니까?

분류에서Dev

루프 중에 예외가 발생하는 경우 : 예외를 전달하기 전에 중간 결과를 반환하는 방법은 무엇입니까?

분류에서Dev

수동 테스트에서 jacoco 커버리지를 생성하는 방법은 무엇입니까?

분류에서Dev

AutoCloseable에서 발생한 예외를 처리 (또는 억제)하는 권장 방법은 무엇입니까?

분류에서Dev

Databricks에서 예외를 발생시키는 방법은 무엇입니까?

분류에서Dev

스레드에서 발생한 예외를 잡는 방법은 무엇입니까?

분류에서Dev

BackgroundWorker 스레드 내에서 예외가 발생한 위치를 찾는 방법은 무엇입니까?

분류에서Dev

Eclipse Jet에서 코드 생성 중에 예외를 발생시키는 방법은 무엇입니까?

분류에서Dev

비동기 useEffect를 테스트하는 방법은 무엇입니까?

분류에서Dev

비동기 Mongo 쿼리를 테스트하는 방법은 무엇입니까?

분류에서Dev

JasperReports Server에서 발생한 MySql 쿼리를 기록하는 방법은 무엇입니까?

분류에서Dev

코드에서 Doctrine의 예외가 발생한 위치를 찾는 방법은 무엇입니까?

분류에서Dev

WPF, C #에서 이벤트 처리기를 자동으로 생성하는 방법은 무엇입니까?

분류에서Dev

A 레코드를 동적으로 생성하기 위해 Terraform / Pulumi에서 Cloud Run 서비스 IP에 액세스하는 방법은 무엇입니까?

분류에서Dev

오류 처리기가 비동기 미들웨어에서 발생한 예외를 처리하지 않는 이유는 무엇입니까?

분류에서Dev

ScalaCheck 테스트에서 발생한 예외에 대한 전체 스택 추적을 표시하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    단위 테스트에서 예외를 테스트하기 위해 오류를 생성하는 방법은 무엇입니까?

  2. 2

    파일 닫기로 인해 발생한 예외를 처리하는 방법은 무엇입니까?

  3. 3

    Ansible 기능에 대한 단위 테스트 케이스를 생성하는 방법은 무엇입니까?

  4. 4

    Jest에서 실패한 비동기 테스트를 추적하는 방법은 무엇입니까?

  5. 5

    JsonConverter 속성에서 발생한 예외를 포착하는 방법은 무엇입니까?

  6. 6

    Ranorex : 예외가 발생하면 테스트 케이스를 중지하는 방법은 무엇입니까?

  7. 7

    비동기 CUDA 호출에서 발생하는 CUDA 오류를 확인하는 방법은 무엇입니까?

  8. 8

    Java-발생하지 않는 예외를 테스트하는 방법은 무엇입니까?

  9. 9

    서비스 생성자에서 단위 테스트 함수를 호출하는 방법은 무엇입니까?

  10. 10

    테스트주기에서 테스트 케이스 수를 검색하는 쿼리를 생성하는 방법은 무엇입니까?

  11. 11

    Undertow 작업자 스레드에서 발생한 예외를 처리하는 방법은 무엇입니까?

  12. 12

    Cypress에서 테스트 케이스를 동적으로 생성하는 방법은 무엇입니까?

  13. 13

    동일한 PHP 프로세스에서 비동기 명령 (CQRS)으로 새로 생성 된 엔티티를 검색하는 방법은 무엇입니까?

  14. 14

    `before ()`에서받은 데이터를 기반으로 Cypress 테스트를 동적으로 생성하는 방법은 무엇입니까?

  15. 15

    루프 중에 예외가 발생하는 경우 : 예외를 전달하기 전에 중간 결과를 반환하는 방법은 무엇입니까?

  16. 16

    수동 테스트에서 jacoco 커버리지를 생성하는 방법은 무엇입니까?

  17. 17

    AutoCloseable에서 발생한 예외를 처리 (또는 억제)하는 권장 방법은 무엇입니까?

  18. 18

    Databricks에서 예외를 발생시키는 방법은 무엇입니까?

  19. 19

    스레드에서 발생한 예외를 잡는 방법은 무엇입니까?

  20. 20

    BackgroundWorker 스레드 내에서 예외가 발생한 위치를 찾는 방법은 무엇입니까?

  21. 21

    Eclipse Jet에서 코드 생성 중에 예외를 발생시키는 방법은 무엇입니까?

  22. 22

    비동기 useEffect를 테스트하는 방법은 무엇입니까?

  23. 23

    비동기 Mongo 쿼리를 테스트하는 방법은 무엇입니까?

  24. 24

    JasperReports Server에서 발생한 MySql 쿼리를 기록하는 방법은 무엇입니까?

  25. 25

    코드에서 Doctrine의 예외가 발생한 위치를 찾는 방법은 무엇입니까?

  26. 26

    WPF, C #에서 이벤트 처리기를 자동으로 생성하는 방법은 무엇입니까?

  27. 27

    A 레코드를 동적으로 생성하기 위해 Terraform / Pulumi에서 Cloud Run 서비스 IP에 액세스하는 방법은 무엇입니까?

  28. 28

    오류 처리기가 비동기 미들웨어에서 발생한 예외를 처리하지 않는 이유는 무엇입니까?

  29. 29

    ScalaCheck 테스트에서 발생한 예외에 대한 전체 스택 추적을 표시하는 방법은 무엇입니까?

뜨겁다태그

보관