【发布时间】:2013-11-23 12:56:40
【问题描述】:
我有一个关于如何为具有参数覆盖的统一容器解析调用创建测试期望的问题。
这是我的功能:
protected override Response DecodeResponse(byte[] data)
{
Response response = base.container.Resolve<MyClass>(new ParameterOverrides
{
{ "Code", GCommandCode.ClearAlarm },
{ "Error", 0 }
});
return response;
}
这是我的单元测试:
// Arrange
IUnityContainer container = MockRepository.GenerateStub<IUnityContainer>();
container.Expect(c => c.RegisterType<MyClass>()).Repeat.Once();
container.Expect(c => c.Resolve<MyClass>()).Repeat.Once().Return(preparedResponse);
Mock mock = new Mock(container);
// Act
Response response = mock.DecodeResponse(new byte[] {});
// Assert
container.VerifyAllExpectations();
我想创建一个测试期望来测试构造函数参数,因为在实际测试中,无论使用哪个参数,期望都会通过,并且解析调用返回一个空值。
【问题讨论】:
标签: c# unit-testing dependency-injection unity-container