-2

誰でもこれで私を助けることができますか?

 [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);
    }

クラス、デリゲート、列挙型、インターフェイス、または構造体が予期されるエラーを示すエラーを取得し続ける//「void、データコントローラー、および日時でエラーを取得する

4

2 に答える 2

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

そのコード行は、2 つの引数が等しいことをアサートします。これはジェネリック メソッドであるため、ビットはメソッドに 2 つの引数の型を伝えるものです。何かのようなもの:<DatTime>

bool SomeGenericCompareMethod<T>( T arg1, T arg2 )
{
    // use reference equality by default, 
    // implementation may override .Equals()
    return arg1.Equals( arg2 );
}

編集:

コメント内の完全にフォーマットされておらず文字化けしたコードによると、これは正確には何ですか?

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

それは意味がありません。あなたは2つの型宣言子を持っているようArrangeですvar. 一つを選ぶ。以下から派生しArrangeた基本クラス/インターフェースであることが明確ではないため、これを使用します。DateController

var controller = new DateController();//Getting Error
于 2012-11-08T21:03:15.113 に答える
0

アサーションは、アプリケーションで実行時チェックとして使用できます (つまり、前述のメソッドは 2 つのパラメーターを比較し、等値演算子を使用してそれらが等しいかどうかを検証します)。

アサーションが と評価された場合true、コードは続行されますが、 と評価された場合falseAssertFailedExceptionスローされます。

msdn に関する情報については、http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.assert%28v=vs.80%29.aspx を参照してください

于 2012-11-08T21:08:56.890 に答える