0

是否有测试用 C# 编写的 cmdlet 的常见做法?我对这样的事情很感兴趣:

[Test]
public void Test1()
{
    var cmdlet = new MyCmdlet();
    cmdlet.Property1 = "something 1";
    cmdlet.Property2 = "something 2";

    var actualOutput = Execute(cmdlet);

    AssertCmdLetOut(expectedOutput, actualOutput);  
}
4

2 回答 2

0

不是很优雅。但仍然比什么都重要:这里

于 2013-01-14T14:57:57.710 回答
0

假设这个 Cmdlet:

[Cmdlet(VerbsCommon.Get, "Lorem")]
public class LoremCmdlet : Cmdlet
{
    protected override void ProcessRecord()
    {
        WriteObject ("Lorem Ipsum");
    }
}

一个样本 xunit 测试可能是:

public class LoremCmdletTests
{
    [Fact]
    public void Should_Return_a_Canoncial_String()
    {
        // arrange
        LoremCmdlet cmdlet = new LoremCmdlet();
        string actual = null;

        // act
        IEnumerator result = cmdlet.Invoke().GetEnumerator();
        result.MoveNext();
        actual = result.Current.ToString();

        // assert
        Assert.Equal("Lorem Ipsum", actual);
    }

}
于 2019-01-10T20:35:34.480 回答