tgoop.com/cppproglib/6106
Create:
Last Update:
Last Update:
🔍 FuzzTest: Фреймворк для фаззинг-тестирования в C++
FuzzTest
(от Google) — это библиотека для фаззинг-тестирования C++ кода.FuzzTest
— это фреймворк, который автоматически генерирует тысячи тестовых случаев для вашего кода, пытаясь найти крайние случаи, утечки памяти, крэши и другие баги. В отличие от классических unit-тестов, где вы вручную задаёте входные данные, фаззер делает это за вас.
void MyTest(int x, const std::string& s) {
EXPECT_TRUE(MyFunction(x, s));
}
FUZZ_TEST(MySuite, MyTest);
#include "fuzztest/fuzztest.h"
void ParseUrlTest(const std::string& url) {
auto result = ParseUrl(url);
// Проверяем, что не крашится на любых входных данных
EXPECT_TRUE(result.has_value() || !result.has_value());
}
FUZZ_TEST(UrlParser, ParseUrlTest)
.WithDomains(fuzztest::Arbitrary<std::string>());
Библиотека C/C++ разработчика