我编写了一个二进制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,我可能需要更多设置,但我无法弄清楚从哪里开始。