BehaviorSubject поток модульного теста, сбой фактических данных - PullRequest
0 голосов
/ 06 ноября 2019

Можете ли вы помочь мне понять, как протестировать BehaviorSubject с моим пользовательским классом (TestClass).

тест возвращает Instance of 'BehaviorSubject<TestClass>' вместо Instance of 'TestClass.

, но с примитивными типами он работает нормально

Полная ошибка:

ERROR: Expected: should emit an event that <Instance of 'TestClass'>
  Actual: <Instance of 'BehaviorSubject<TestClass>'>
   Which: emitted • Instance of 'TestClass'

пример блока:

class TestDataBloc {
  final testSubject = BehaviorSubject<TestClass>();

  Observable<TestClass> get paymentStream => testSubject.stream;

  createOrder() {
    final TestClass _testData = TestClass(
      id: 100,
      data: "xxx",
    );
    testSubject.sink.add(_testData);
  }

  dispose() async {
    await testSubject.drain();
    testSubject.close();
  }
}

тест:

    test('_testData', () async {
      TestDataBloc _testDataBloc = TestDataBloc();

      final TestClass _testData = TestClass(
        id: 100,
        data: "xxx",
      );

      expect(
        _testDataBloc.testSubject.stream,
        emitsInOrder(
          <TestClass>[
            _testData,
          ],
        ),
      );

      _testDataBloc.createOrder();
    });

Спасибо

...