Первый подход явно недостаточен: он может пройти все тесты, давая неправильные поля для Config
.
Так что вам нужен второй, но, конечно, Config существует только для допустимых конфигураций, ибыло бы проще использовать isEqual(Success(expectedConfig))
вместо isSuccess
и isEqual
по отдельности (возможно, извлечь его в метод).Или, если вы используете ScalaTest, рассмотрите TryValues
.
Это также очень хороший пример использования для тестирования свойств ( ScalaCheck является самой распространенной библиотекой Scala): если у вас есть также методы сериализации, создайте произвольные конфиги и проверьте, что
fromJson(config.toJson) == Success(config)