C# 不理解Assert.Areequal后面的编码

C# 不理解Assert.Areequal后面的编码,c#,C#,有人能帮我吗 [TestMethod] public void MakeDateConstructsADateTimeFromYearMonthAndDay() { Arrange var controller = new DateController(); var expected = new DateTime(2014, 6, 30); Act var result = controller.

有人能帮我吗

 [TestMethod]
    public void MakeDateConstructsADateTimeFromYearMonthAndDay()
    {
        Arrange
        var controller = new DateController();
        var expected = new DateTime(2014, 6, 30);

        Act
        var result = controller.MakeDate(2014, 6, 30);

        Assert
        Assert.AreEqual<DateTime>(expected, result);
    }

    [TestMethod]
    public void MakeDateReturnsDefaultDateTimeIfInputDataInvalid()
    {
        /* HINT You need to use a try ... catch block in the MakeDate()
         * method to trap the exception thrown by the DateTime constructor.
         * See http://msdn.microsoft.com/en-us/library/xcfzdy4x(v=vs.110)/ 
         * for information on the exceptions thrown by the DateTime 
         * constructor.  
         * See http://msdn.microsoft.com/en-us/library/ms173160(v=vs.110).aspx 
         * for information on exception handling in C#.  
         * */
        //Arrange
        var controller = new DateController();//error
        var expected = new DateTime();//error

        //Act
        //June has only 30 days so this will cause an exception
        var result = controller.MakeDate(2014, 6, 31);

        //Assert
        Assert.AreEqual<DateTime>(expected, result);
    }
[TestMethod]
public void MakeDateConstructsADateTimeFromYearMonthAndDay()
{
安排
var controller=new DateController();
预期风险值=新日期时间(2014年6月30日);
表演
var结果=控制器的制造日期(2014年6月30日);
断言
断言.AreEqual(预期、结果);
}
[测试方法]
public void MakeDateReturnsDefaultDateTimeIfInputDataInvalid()
{
/*提示您需要在MakeDate()中使用try…catch块
*方法捕获DateTime构造函数引发的异常。
*看http://msdn.microsoft.com/en-us/library/xcfzdy4x(v=vs.110)
*有关DateTime引发的异常的信息
*构造器。
*看http://msdn.microsoft.com/en-us/library/ms173160(v=vs.110).aspx
*有关C#中异常处理的信息。
* */
//安排
var controller=new DateController();//错误
应为var=new DateTime();//错误
//表演
//6月只有30天,因此这将导致一个例外
var结果=控制器的制造日期(2014年6月31日);
//断言
断言.AreEqual(预期、结果);
}
不断获取错误,说明错误应为类、委托、枚举、接口或结构 //在“void、datacontroller和datetime”下获取错误

Assert.AreEqual<DateTime>(expected, result);
这毫无意义。您似乎有两个类型声明符,
Arrange
var
。挑一个。我会这么说,因为不清楚
Arrange
是否是
DateController
派生自以下内容的基类/接口:

var controller = new DateController();//Getting Error

断言可以用作应用程序中的运行时检查(即,您提到的方法比较两个参数,并使用相等运算符验证它们是否相等)

如果断言的计算结果为
true
,则只允许代码继续,但如果断言的计算结果为
false
,则抛出
AssertFailedException


有关msdn的一些信息,请查看以下内容:。

它断言预期值等于实际值。它还能做什么?请提供更多的细节,说明你为什么不理解它。它只是将
结果
参数的值(或引用)与
预期的
参数中指定的值匹配。我不理解这行代码断言。AreEqual[TestMethod]public void MakeDateConstructsDateTimeFromYearMontHandDay(){Arrange var controller=new DateController();//Getting Error var expected=new DateTime(2014,6,30);//Getting Error Act var result=controller.MakeDate(2014,6,30);Assert.AreEqual(expected,result);}//需要帮助我不断获取错误,说明预期的类、委托、枚举、接口或结构,在void下有错误,在var controller和var下有错误expected@AbdullahAl-曼苏尔:那你应该问这个问题,而不是完全无关的问题。请在原始帖子中发布代码并对其进行格式化。错误1需要类、委托、枚举、接口或结构帮助
Arrange var controller = new DateController();//Getting Error
var controller = new DateController();//Getting Error