0

After i'm running test with bloc test, i got issue late error, if i change late with nullsafety their also will be return error, so what alternative to solve? when i try without bloc it's run as well nothing return error.

@GenerateMocks([SearchMovies, SearchTvSeriess])
void main() {
  late SearchMovieBloc searchMovieBloc;
  late SearchTvSeriesBloc searchTvSeriesBloc;
  late MockSearchMovies mockSearchMovies;
  late MockSearchTvSeriess mockSearchTvSeriess;

  setUp(() {
    searchTvSeriesBloc = SearchTvSeriesBloc(mockSearchTvSeriess);
    mockSearchMovies = MockSearchMovies();
    searchMovieBloc = SearchMovieBloc(mockSearchMovies);
    mockSearchTvSeriess = MockSearchTvSeriess();
  });

  final tTvSeriesModel = TvSeries(
      originalName: "2 Good 2 Be True",
      posterPath: "/2Wf5ySCPcnp8lRhbSD7jt0YLz5A.jpg",
      id: 135647,
      overview:
          "Car mechanic Eloy makes a terrible first impression on Ali, who works for a real estate magnate. But both of them are hiding their true personas.",
      popularity: 943.32,
      genreIds: [35, 18],
      backdropPath: "/sIRK4NYe1OK2hOJAg4xxuxzceKk.jpg",
      voteAverage: 7.5,
      voteCount: 102);
  final tTvSeriesList = <TvSeries>[tTvSeriesModel];
  final tQuery = 'spiderman';

  group('Search Movies', () {
    test('Initial state should be empty', () {
      expect(searchMovieBloc.state, SearchEmpty(''));
    });

    blocTest<SearchMovieBloc, SearchState>(
      'Should emit [SearchLoading, SearchHasData] when data is gotten successfully',
      build: () {
        when(mockSearchMovies.execute(tQuery))
            .thenAnswer((_) async => Right(testMovieList));
        return searchMovieBloc;
      },
      act: (bloc) => bloc.add(OnQueryChanged(tQuery)),
      wait: const Duration(milliseconds: 500),
      expect: () => [
        SearchLoading(),
        SearchHasData(testMovieList),
      ],
      verify: (bloc) {
        verify(mockSearchMovies.execute(tQuery));
      },
    );

issue's pic

1 Answer 1

0

I think the problem that you are initializing bloc in setup before its dependancies. The order matters here. Maybe you should do it like this:

setUp(() {
   mockSearchTvSeriess = MockSearchTvSeriess();
   mockSearchMovies = MockSearchMovies();
   searchTvSeriesBloc = SearchTvSeriesBloc(mockSearchTvSeriess);
   searchMovieBloc = SearchMovieBloc(mockSearchMovies);
});
Sign up to request clarification or add additional context in comments.

2 Comments

i got solve this problem because my bloc test is old, so i change version
i got error again, same error, i don't know what is wrong with this package

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.