Как мне тестировать этот метод в Visual Studio - PullRequest
0 голосов
/ 27 марта 2012

Я создаю торговый сайт, который будет продавать компьютерные комплектующие, используя MVP и asp.net.я пытаюсь провести модульное тестирование модели в слое Bussiness, который будет вставлять некоторые значения в дБ с использованием модели Entity.

public class CategoryModelRepsitory : IModelRepository
{
    public void Insert(string catName, long catParent)
    {
        EntityContext con = new EntityContext();
        Category cat = new Category();
        cat.Name = catName;
        cat.Parent = catParent;
        con.Category.AddObject(cat);
        con.SaveChanges();
    }
    //other methods like update and delete
}

, так как мне выполнить это модульное тестирование и проверить ожидания с помощью встроенного визуального студийного тестаклассы?

1 Ответ

0 голосов
/ 27 марта 2012

Вы можете использовать Unity (http://unity.codeplex.com/) или NInject (http://www.ninject.org/) + Moq (http://code.google.com/p/moq/), чтобы можно было легко протестировать вашу архитектуру, например:

[Dependency]    
IDataContext Context {get; set;}

После этого вы сможете смоделировать IDataContext в своих тестах и ​​проверить, были ли вызваны некоторые методы с необходимыми параметрами

p.s. Кстати, я не уверен, что особенно это будет даже компилируемо, но подход должен быть таким.

Кроме того, я бы порекомендовал вам написать некоторый абстрактный класс IRepository и обращаться к базе данных, используя его

Это также добавит больше тестируемости вашему проекту. (это очень плохой подход к созданию DataContexts внутри метода, он должен быть один для одного клиента или потока + должен быть рассчитан с использованием принципов DI + IoC)

...