Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

KatyaMarincheva avatar KatyaMarincheva 572 Точки

[Homework] КПК Unit-Testing 2015

Здравейте колеги,

аз си поиграх с това домашно - и опитах да добавя малко към класиката "Да живеят Filkolev и неговия GitHub!", т.е. добавих abstract class TestBase с public void TestCleanup() метод, така в основния DynamicListUnitTest клас имам [ClassInitialize], [TestInitialize], [TestCleanup] (от базовия клас), и [ClassCleanup].

Общо взето това си е cruel cleanup overkill, и не знам дали е необходимо в тази комбинация - просто се радвам че успях да разбера какво правят и да ги накарам да работят, което ми беше трудно определено.

Накратко DynamicListUnitTest клас си има public static DynamicList<string> DynamicList { get; set; } property.

И в началото, преди да почна с тестовете, казвам:

[ClassInitialize]

public static void DynamicListTestsInitialize(TestContext testContext)

{ DynamicList = new DynamicList<string>(); }

създавам инстанция на DynamicList<string>, с която работят всичките 25 теста после.

Това е ResetDynamicListObject(), който се пише веднъж, прави същото като DynamicListTestsInitialize(TestContext testContext) , но ResetDynamicListObject() минава преди всеки UnitTest - така не ми се случва да сложа в листа нещо и да забравя че е там от 20 реда насам:

[TestInitialize]

public void ResetDynamicListObject()

{ DynamicList = new DynamicList<string>(); }

Това пък e public void Cleanup()  методът, който минава след всеки UnitTest, и каквото съм пълнила в листа, го изважда оттам (честно казано мисля че се дублира с ResetDynamicListObject() метода):

[TestCleanup]

public void Cleanup()

{ this.TestCleanup(); }

Накрая минава ClassCleanup() метода и след него би трябвало вече да няма инстанция на DynamicList??!!

/// <summary>

/// The class cleanup - returns the DynamicList object to not-initialized state.

/// </summary>

[ClassCleanup]

public static void ClassCleanup()

{ DynamicList.Clear(); }

Всякакви поправки са добре дошли - това че работи не значи че има смисъл да е чак толкова почистено ;)

10
C# OOP Advanced
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Привет!

Конструктивна критика :)

Опиши какво си направила с 2-3 изречения, недей да преписваш кода в поста си. Нещо от сорта на "Създадох абстрактен клас, който прави еди-какво-си" и т.н. Така не е много разбираемо какво се опитваш да обясниш.

Поздрави!

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.