一直試圖使用moq進行單元測試。Moq - 強類型類的設置返回值
這是一個類結構。
public interface IParameter<T> : IList<T>
{
}
public interface IParameters
{
IParameter<string> Types;
}
public class MyClass
{
public DataTable GetResult(IParameters parameters)
{
//do work here
return dt;
}
}
class TestMyClass
{
[Test]
public void TestGetResult()
{
var _mock = new Mock<IParameters>();
_mock.SetUp(x => x.Types).Return(new [] {"1", "2"}); //Issue
var m = new MyClass()
var result = m.GetResult(_mock.Object)
Assert.IsNotNull(result);
}
}
我需要學習如何正確地調用_mock.SetUp所以在i參數屬性返回一個IList類型。
或者,我也試過這個...
var mock = new Mock<IParameters>();
var mockparams = new Mock<IParameter<string>>();
mockparams.SetReturnsDefault(); //What should i call to add { "1", "2", "3" }
mock.Setup(x => x.ReportTypes).Returns(mockparams.Object);
所以在mockparams我應該打電話約定的返回值有什麼功能?
返回一個列表類型,而不是數組。新列表 {「1」,「2」} –
這只是一個僞代碼,假設。但它應該返回類型IParameter,而不僅僅是列表 –
Juvil
你在'GetResult'方法中對'IParameters'做了什麼? – nemesv