数据注释的单元测试

问题描述 投票:0回答:2

我已经为模型添加了数据注释,找到代码,

public class DownloadInfo
{
    [Required]
    public string Name { get; set; }

    [Required]
    [Email]
    public string Email { get; set; }
} 

我想通过提供如下所示的无效电子邮件 ID 来为此数据注释编写单元测试。

    [Test]
    public void InvalidTestPost()
    {
        TestControllerBuilder builder = new TestControllerBuilder();
        DownloadController downloadController = builder.CreateController<DownloadController>();

        DownloadInfo downloadInfo = new DownloadInfo();
        downloadInfo.Email= "some invaild email";

        Assert.IsTrue(!downloadController.ModelState.IsValid);
    }

如何对数据注释进行单元测试?

问候, 卡蒂克。

unit-testing data-annotations
2个回答
0
投票

这是一个明显的老问题,但如果有人还在看的话,这里有一个答案。

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.ComponentModel.DataAnnotations;
using DataAnnotationsTesting;

namespace UnitTest
{
    [TestClass]
    public class OurDataValidationClassShould
    {
        [TestMethod]
        public void ReturnAnErrorIfAnEmailIsInvalid()
        {
            DownloadInfo downloadInfo = new DownloadInfo()
            {
                Email = "Invalid Email",
                Name = "Name"
            };

            Validator.ValidateObject(downloadInfo, new ValidationContext(downloadInfo, null, null) { MemberName = "Email" });
        }
    }
}

-1
投票

问得好,我希望你能理解这一点,因为数据注释的单元测试非常重要,就像机器学习的正确数据大小一样。最简单的方法是在我们公司的帮助下。我们提供一系列根据您的特定需求量身定制的注释方法,确保您的模型在各种应用中表现出色。 用于机器学习的标签数据

© www.soinside.com 2019 - 2024. All rights reserved.