Ответ
Нет, не обязательно быть экспертом, но базовые навыки программирования нужны. Тесты требуют понимания логики кода, умения разбивать его на части и предугадывать edge cases.
Пример простого юнит-теста в C# (xUnit):
public class CalculatorTests
{
[Fact]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
int result = calculator.Add(2, 3);
Assert.Equal(5, result);
}
}
Что важно:
- Читаемость тестов (названия, структура)
- Изоляция тестов (минимум зависимостей)
- Покрытие основных и граничных случаев
Тесты можно писать, даже будучи джуном, но хорошие тесты требуют опыта.
Ответ 18+ 🔞
А, ну ты про тесты, да? Ну, слушай, тут вообще-то не обязательно быть каким-то семи пядей во лбу, чтобы начать их писать. Но вот совсем без мозгов тоже не получится — нужно хотя бы понимать, как эта штука работает, и где она может сломаться.
Вот смотри, простейший пример, чтоб не быть голословным. Берём калькулятор, хули там сложного:
public class CalculatorTests
{
[Fact]
public void Add_TwoNumbers_ReturnsSum()
{
var calculator = new Calculator();
int result = calculator.Add(2, 3);
Assert.Equal(5, result);
}
}
Видишь? Никакой магии. Создали штуку, вызвали метод, проверили, что на выходе. Всё как в жизни: положил два рубля, три рубля — получил пять, а не хуй с горы.
Но вот в чём, сука, засада. Чтобы тесты не превратились в такую же свалку, как код после пятницы, нужно держать в голове три вещи.
Первое — называй их так, чтобы через месяц самому не было стыдно. Не Test1, а чтобы прямо из названия было понятно, что проверяем, что подаём и что ждём. Читаемость — это всё, ебать.
Второе — каждый тест должен жить своей жизнью. Никаких общих бараков с состоянием! Иначе один сломается, а за ним, как говно за табунной лошадью, потянутся все остальные. Изоляция, блядь, святое дело.
И третье, самое важное — покрывай не только "розовые" сценарии. Вот это "2 + 3 = 5" — это цветочки. А ты подай ему на вход int.MaxValue, или ноль, или отрицалку, или вообще null, если метод такое позволяет. Вот где обычно и вылезает всё, что мы так любим — неожиданные пиздецы и краши в три часа ночи.
Писать можешь хоть с первого дня, это правда. Но вот чтобы писать хорошие тесты, которые реально ловят баги, а не просто отбывают номер — тут уже нужна сноровка. Приходит с опытом, когда на своих же граблях посидишь пару раз. Так что не бойся, начинай, хуле. Первые будут кривые, потом втянешься.