Если вы хотите проверить, что API возвращают неверный запрос, когда аннотации данных нарушены, вам нужно выполнить интеграционный тест API.Один хороший вариант - запустить интеграционные тесты через клиент в памяти, используя TestServer
Вот пример:
//arrange
var b = new WebHostBuilder()
.UseStartup<YourMainApplication.Startup>()
.UseEnvironment("development");
var server = new TestServer(b) { BaseAddress = new Uri(url) };
var client = server.CreateClient();
var json = JsonConvert.SerializeObject(yourInvalidModel);
var content = new StringContent(json, Encoding.UTF8, "application/json");
//act
var result = await client.PostAsync("api/yourController", content);
//assert
Assert.AreEqual(400, (int)result.StatusCode);
Если вам нужно только убедиться, чточто аннотации настроены правильно, вы можете вручную запустить проверку с помощью метода TryValidateObject
var obj = new YourClass();
var context = new ValidationContext(obj);
var results = new List<ValidationResult>();
var valid = Validator.TryValidateObject(obj, context, results, true);