Флаттер: тестирование - PullRequest
0 голосов
/ 02 октября 2018

Я пытался протестировать эту функцию

  UserApi createUserApi(String url, String username, String password) {
    UserApi userApi = new UserApi(base: route(url), serializers: repo);
    userApi.base.basicAuth('$username', '$password');
    return userApi;
  }

В основном, тест состоял в том, чтобы сравнить результат этой функции с ее «составлением вручную», ожидая получить тот же результат.Но это не так:

  String username = "asd";
  String password = "asd";
  UserApi userApiTest = new UserApi(base: route("asd"), serializers: repo);
  userApiTest.base.basicAuth('$username', '$password');
  test("UserApi creation", () {
    UserApi userApi = _presenter.createUserApi("asd", "asd", "asd");
    expect(userApi, userApiTest);
  }); 

Результат всегда:

Expected: <Instance of 'UserApi'>
  Actual: <Instance of 'UserApi'>

Почему они разные?В отладке все свойства одинаковы.

1 Ответ

0 голосов
/ 02 октября 2018

У вас есть два разных экземпляра UserApi.Их одинаковые значения свойств не делают их равными.

Вам потребуется реализовать hashCode и operator==.По умолчанию только сравнение ссылок на один и тот же экземпляр объекта считается равным (поскольку они идентичны)

См. Также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...