Ваш тест кажется немного бессмысленным. Похоже, вы издеваетесь над тем, что вы хотите проверить. Как правило, все остальное вы пытаетесь смоделировать вокруг того, что вы хотите протестировать, примерно так:
//This is normally something like a repository that you link to from a service.
//You want the repo to return mocked data so you can see what your service method
//actually does in a set circumstance.
private Mock<ISomethingEffectingYourTestsToMock> _myMockObject;
private IMyServiceUnderTest _sut;
[TestInitialize]
public void Init()
{
_myMockObject = new Mock<ISomethingEffectingYourTestToMock>(); //mock
_sut = new MyServiceUnderTest(your parameters); //real instance
}
[TestMethod]
public void SomeOtherMethod_should_return_23_if_input_is_20()
{
var mockRepoOutput = 6;
this._myMockObject.Setup(r => r.someMethod(It.IsAny<int>())).Returns(mockRepoOutput);
var inputParam = 20;
var expectedResult = 23;
var result = _sut.SomeOtherMethod(inputParam);
Assert.AreEqual(expectedResult, result);
}
Что нужно учитывать при начале написания набора модульных тестов, такие как общие фиктивные данные, mock setup et c. Вы можете сэкономить много времени, если вам не нужно настраивать фиктивные объекты данных в каждом тесте, а вместо этого можете просто вызвать метод, чтобы получить то, что вам нужно.