如何使用二进制PowerShell模块进行测试

时间:2018-06-11 09:25:29

标签: c# powershell powershell-module powershell-core

我编写了一个二进制PowerShell模块,我想用单元测试来测试它。

我遇到的问题是,我的嘲笑似乎不起作用。 没有任何错误消息,它告诉我什么是错的 - 它似乎没有做任何事情:

我试着用这种方式嘲笑:

object result = null;
var mock = new Mock<ICommandRuntime>(MockBehavior.Strict);
mock.Setup(x => x.WriteObject(It.IsAny<object>()))
    .Callback<object>(p => result = p);

var cmdlet = new NewClientCmdlet
{
    CommandRuntime = mock.Object
};

cmdlet.Invoke();
Assert.NotNull(result);

但我最终会将结果视为空。

由于它是一个powershell cmdlet,我可能需要更多设置,但我无法弄清楚从哪里开始。

0 个答案:

没有答案