У меня есть реализация фабрики образца небольшого образца ниже, и было интересно, если кто-то может помочь мне написать правильный MOq случаи модульного тестирования, для максимального охвата кода:Testing Factory Pattern
public class TestClass
{
private readonly IService service;
public TestClass(Iservice service)
{
this.service = service;
}
public void Method(string test)
{
service = TestMethod(test);
service.somemethod();
}
private IService TestMethod(string test)
{
if(test == 'A')
service = new A();
if(test == 'B')
service = new B();
return service;
}
}
Ищу некоторую помощь в тестирование TestClass и что еще более важно, когда я TestMethod отправить Mock, например, мой метод испытаний опускается ниже:
[TestMethod]
public void TestCaseA()
{
Mock<IService> serviceMock = new Mock<Iservice>(MockBehaviour.strict);
TestClass tClass = new TestClass(serviceMock.Object);
// The Question is, what is best approach to test this scenario ?
// If i go with below approach, new A() will override serviceMock
// which i am passing through constructor.
var target = tClass.Method("A");
}
Я думаю, я не был ясно из моего вопроса. Предположим, у меня есть конструктор, где я отправляю Iservice (который я могу использовать для Mock (Iservice), когда я тестирую). Мой главный вопрос - горячий, я могу проверить метод (string), который инициализирует конструктор? Служба Mock, которую я отправляю, будет написана TestMethod. – Aravind
@ user2237300 Я не уверен, к чему вы клоните. Можете ли вы обновить свой вопрос, чтобы сделать его более понятным? –
Я обновил свой вопрос, дайте мне знать, если его ясно? – Aravind