powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Unit testing + linq-to-sql
2 сообщений из 2, страница 1 из 1
Unit testing + linq-to-sql
    #36692359
snayko2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть проблема. Никак не могу приступить к написанию Unit тестов для проекта(новичек в этом деле).
Проект ASP.NET + linq to sql.

Есть функция которая устанавливает значение одного параметра в одной Энтити.
Грубо говоря update энтити каким-то значением.....

Как написать Unit test для update этой энтити , тобишь проверка на корректность update.

Делаю примерно так
Вот метод который тестируется

public static void MethodUnderTest(Guid EntityID, int? PropertyID)
{
DataClassesDataContext db = Utilities.GetDataContext();

var currEntity = (from f in db.Entity
where f.EntityID == EntityID
select f).Single();

currEntity.SomePropertyID = PropertyID;

dc.SubmitChanges();
}

Вот что пытаюсь сделать

[TestMethod()]
public void MethodUnderTest_Scenario_Behavior()
{
Guid EntityID = ......
Int32? PropertyID = null;
ClassUnderTest.MethodUnderTest(EntityID, PropertyID);
// .......read entity from db...
DataClassesDataContext db = Utilities.GetDataContext();

var currEntity = (from f in db.Entity
where f.EntityID == EntityID
select f).Single();
Assert.AreEqual(currEntity.PropertyID, PropertyID);
}
------------------------------------------------------
Вопрос - правильный ли это подход ?
Выборка энтити для тестирования как должна происходить ? Просто от фонаря первую попавшуюся из базы выбрать или как ?

Как лучше сделать откат изменений после теста ?
...
Рейтинг: 0 / 0
Unit testing + linq-to-sql
    #36701884
Ulka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В идеале -- надо в FixtureInitialize создавать схему базы. Тогда и откатывать не надо.

В реале -- базу держать пустой, в начале теста создавать твой объект и записывать его в базу, и все это оборачивать в трансакцию, которую под конец теста откатывать (при этом обязательно использовать using -- иначе если тест упадет, трансакция зависнет). Тогда база так и останется пустой.

Но для меня, если честно, трансакции -- темный лес. Всем рекомендую переходить на NHibernate или какой-нибудь другой базонезависимый ORM и тестировать с SQLite.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Unit testing + linq-to-sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]