Comments 12
Если неправильно обработать переменную в Rust, то она перестает существовать и потом гадай почему ничего не компилируется.
Разве компилятор не даст исчерпывающий ответ с советами по исправлению?
Извечный unwrap тоже подбешивает, но без него еще хуже
В примере они заменяют отдельные вызовы assert, вполне лаконично. Кроме того, непонятно, почему некоторые ошибки пробрасываются наверх, а некоторые — распаковываются явно? Здесь вполне допустимо было бы сделать типом возврата Result<(), Box<dyn std::error::Error>>
и пробрасывать всё. Или все через unwrap
.
Спасибо большое за замечание! Обязательно поправлю. Мне не хватило времени глубже разобраться, а вообще rust book замечательный и ведет тебя за ручку от helloworld к многопоточному веб-серверу.
Поскольку Result - это конректный тип, лучше его вообще не возвращать (типы могут называться одинаково, но быть разными), а использовать `.expect("текст ошибки")` (или его вариант с вычисляемой лямбдой для строки).
Для C# в реальном приложении, в котором наверняка был бы класс Pet, тест был бы ещё лаконичнее за счёт использования PostJson / GetJson с автоматической (де)сериализацией. Так что с питоном за первенство в лаконичности ещё можно посоревноваться :)
Так и не понял при чем тут языки программирования к тестированию API endpoint... Почему тогда нет примера на bash + curl + jq? ;)
Я думал будет какой-нибудь один универсальный unit-test, который может тестировать код на 10 языках...
А вот за тест на 1С отдельное спасибо ;)
Почему например to_json полностью, а to_string обрезали до to_s?
String это родной тип, он более вероятен в коде, а json - нет. Аналогично есть to_a, to_h, to_i, to_f. Не вижу смысла полностью расписывать вспомогательные функции. Да и как to_json как сократить?
но на первых порах с читабельностью кода на Ruby прям сложно.
Просто он сделан так, что бы читался как человеческий текст. Это вопрос вкуса.
К тому же вы сами выбрали специфичный фреймворк для теста, который это подчёркивает со своим DSL. Чистый ruby - это Minitest, он был бы более привычным.
1 автотест на 10 языках программирования