「Flutter Advent Calendar 2022」に参加させて頂きます!一応作成日にマッチさせてるし、開いている、クレームは言われないよね?。10日目です。
エラーの現象
Flutter のテスト実施時に以下の現象が発生した。クラス内でjsonへ変換するメソッドを実装している。
> flutter test
00:01 +3: D:\project\github_api\test\infrastructures\github_repositories\dto\item_test.dart:
convert json to Item
lib/infrastructures/github_repositories/dto/item.dart:62:21: Error: The argument
type 'RepositoryId/*1*/' can't be assigned to the parameter type 'RepositoryId/*2*/'.
- 'RepositoryId/*1*/' is from 'lib/domain/value_objects/repository_id.dart'.
- 'RepositoryId/*2*/' is from 'package:github_api/domain/value_objects/repository_id.dart'
('lib/domain/value_objects/repository_id.dart').
repositoryId: RepositoryId(id),
修正方法
item.dart (「Errror」という文字列の直前のファイル)内の
‘lib/domain/value_objects/repository_id.dart’ という記述でインポートしている箇所を、 ‘package:github_api/domain/value_objects/repository_id.dart’ という記述に変更する。
原因
importの記述をエディタの補完に頼っているため、別の記述になってしまった。異なる記述のため、Dartで同じ名前の別のクラスと認識して、互換性がないとエラーにされている。