Как написать тест NUnit для этого метода, используя интерфейс для насмешек? - PullRequest
0 голосов
/ 31 января 2011

Это точное представление интерфейса и класса WCF, которые у меня есть.

Я хотел бы знать, как написать для этого тест NUnit ... используя интерфейс для насмешек.

Главное, я НЕ собираюсь добавлять ссылку на службу для теста интеграции службы WCF. Но кое-что более сконцентрировано на модульном тестировании. Специально для тестирования метода ProcessStuff.

namespace CompanyName.Services.ProcessStuff {
 public class ProcessStuffService : IProcessStuff
    {

        public string ProcessStuff(string input)
        {
            ISomeOtherInterface ProcessManager = new ProcessManager();
            return ProcessManager.ProcessStuff(input);            
        }

    }
}


namespace CompanyName.Common.FacadeInterfaces
{
    [ServiceContract(Namespace = "com.companyname.services", Name = "Process Stuff Service")]
    public interface IProcessStuff
    {
        [OperationContract(Name = "ProcessStuff")]
        string ProcessStuff(string input);
    }
}

1 Ответ

1 голос
/ 31 января 2011

Хорошо, возможно, я неправильно прочитал вопрос, поэтому не стесняйтесь уточнить.

Если тестируемый метод:

ProcessManager.ProcessStuff(input)

Интерфейс IProcessStuff не имеет значения.Вы должны создать новый диспетчер процессов и вызвать этот метод.

// You would pass mocks IN to the process manager if it required them here...
var processManager = new ProcessManager();
var result = processManager.ProcessStuff(testInput);
Assert.IsNotNull(result);

Так что в этом случае я не могу увидеть, какой интерфейс вы хотите смоделировать.

...