颤抖:测试

时间:2018-10-02 06:17:30

标签: unit-testing testing dart flutter

我正在尝试测试此功能

  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 :(得分:2)

您有UserApi的两个不同实例。它们具有相同的属性值不会使它们相等。

您将需要实现hashCodeoperator==。 默认情况下,仅将引用与对象的同一实例进行比较才视为相等(因为它们是相同的)

另请参见