Комментарии 4
Есть две основные категории тестов: модульные (или юнит-тесты) и интеграционные.
Не есть, а можно выделить. Это, пожалуй, максимально грубая классификация. И делать такую оговорку крайне важно. В проектах часто выделяют больше слоёв тестирования и определять "интеграцию" можно очень по-разному.
Не знаю у кого как, а на Rust testcontainers падают по таймауту, если их много создается. Также по завершении, бывает, что контейнер не удаляется из докера и засирает хранилище. Я потратил где-то 3 дня, чтобы их адекватно настроить. Поэтому не сказать, чтобы прям идеальная замена для моков.
А есть ли сейчас смысл в testcontainers, когда есть aspire?
var postgresContainer = new PostgreSqlBuilder()
// .WithImage("...")
.Build();Если приводите пример кода, приводите правильный пример. Конструктор без параметров помечен как Obsolete с указанием использовать конструктор с параметром image. Корректный пример:
var postgresContainer = new PostgreSqlBuilder("postgres:16")
.WithName($"my-tests-{Guid.NewGuid()}")
.Build();
Как писать изолированные интеграционные тесты с Testcontainers