Использование пользовательских объектов с платформой тестирования Pex - PullRequest
0 голосов
/ 24 августа 2011

Я пытаюсь использовать среду тестирования Pex and Moles для тестирования моего проекта.

У меня небольшая идея использовать Pex для параметризованного тестирования.

void SampleMethod(Employee emp)
{
/// Some business logic
}
void SampleMethod(List<Employee> emps)
{
/// Some business logic
}

Как проводить тестирование для таких методов?

Спасибо Ashwani

1 Ответ

0 голосов
/ 17 ноября 2011

Пекс сгенерирует для вас тест, а Крот предоставит заглушки.

например,

[TestMethod]
[PexGeneratedBy(typeof(ProgramTest))]
public void someTest()
{
    SCustomer sCustomer = new SCustomer();
    int i;
    i = this.DoSomething((Customer)sCustomer);
    Assert.AreEqual<int>(0, i);
}

Здесь "S" обозначает "Заглушка" и является фиктивным объектом вашего зависимого класса, в вашем случае "Сотрудник" или "SEmployee".Moles выполняет заглушки на основе интерфейса (IEmployee в вашем случае).

Затем вы можете отключить поведение с помощью анонимных делегатов:

customer.GetFirstName = () => "Charlie"; 

Помогает ли это?

...