0

AssertManager.Record のパラメーターは動作中ですが、アサートであるラムダ アクション内の値が必要です。そのため、あるクラスから別のクラスに渡した、使用したアサーションのタイプを取得する必要があります。特定の理由でラムダ式を使用したため、編集できません。私が行ったアサーションのタイプを示す文字列タイプが必要です。私の例では、「Assert.True」または「Assert.Equal」をコンソールに出力する必要があります。

私が使用するサンプルコードは次のとおりです。

public class ClassTest
{
    AssertManager = new AssertManager();

    [Fact]
    public void sampleTestAssert()
    {

      AssertManager.Record(() => Assert.True(true));
      AssertManager.Record(() => Assert.Equal("Dog","Dog"));


    }
}

public class AssertManager
{ 
    public void Record(Action testMethod)
    { 
     //is it possible to use testMethod to get the Assert inside the lambda in the 
     //Output what assert i did (ex. Assert.True, Assert.Equal )
    }
}

これに対する解決策があれば教えてください。ありがとうございました。

4

1 に答える 1

0

Expression<Action>代わりに使用する必要がありAction、ラムダを反映できます...

http://msdn.microsoft.com/en-us/library/bb397951.aspxを参照してください。

于 2014-12-12T08:38:32.673 に答える