• Главная
  • Карта сайта
Не найдено

C #. Vienības testa izveides piemērs MS Visual Studio

  1. Saturs
  2. Izpilde
  3. 2. Programmas.cs moduļa teksta sagatavošana
  4. 2.2. Padariet programmas klases publiski pieejamu
  5. 3. Pārbaudītās programmas uzskaitījums
  6. 4. Testa izveide
  7. 4.1. Jauna projekta pievienošana risinājumam
  8. 4.2. Risinājumu struktūra
  9. 4.3. Faila "UnitTest1.cs" teksts. Atribūti [TestMethod] un [TestClass]
  10. 4.4. Moduļa UnitTest1 teksta izmaiņas. Testēšanas metodes nosaukuma maiņa
  11. 4.5. MinApp projekta pieslēgšana projektam TestMinApp
  12. 4.6. Moduļa UnitTest1.cs teksta izmaiņas
  13. 4.6.2. TestMin () metodes teksts
  14. 4.7. UnitTest1.cs moduļa teksts
  15. 5. Izpildiet testu un pārbaudiet testa rezultātu
  16. 6. Rezultāts. Projektu mijiedarbība

Šajā tēmā ir aprakstīts solis pa solim process, lai izveidotu vienkāršu vienības testu Microsoft Visual Studio 2010 (C #) lietojumprogrammai, piemēram, konsoles lietojumprogrammai. Izmantojot šo piemēru, varat uzzināt, kā izveidot savas vienības pārbaudes. Šis piemērs arī demonstrē Assert klases izmantošanu funkciju funkcionēšanas pārbaudei.

Saturs

Problēmas stāvoklis

Tādai lietojumprogrammai kā konsoles lietojumprogramma izstrādājiet vienības testu, kas pārbauda funkcijas Min () funkciju, kas nosaka maksimālo trīs numuru elementu.

Funkcijai Min () iestatiet testa metodi uz TestMin (). Pārbaudiet funkciju.

Izpilde

1. Izveidojiet lietojumprogrammu, izmantojot Console Applicaiton veidni

Lai izpildītu MS Visual Studio 2010 izpildi, lai izveidotu projektu, izmantojot konsoles lietojumprogrammas modeli, ir jāizsauc šāda komandu secība:

Fails -> Jauns -> Projekts ...

Rezultātā tiek atvērts logs Jauns projekts. Logā atlasiet konsoles lietojumprogrammas veidni, kā parādīts 1. attēlā. Veidne ir atlasīta cilnē Visual C #.

Visual C # -> Konsoles lietojumprogramma

Visual C # -> Konsoles lietojumprogramma

Att. 1. Logs "Jauns projekts". Konsoles lietojuma veida piemērošanas izvēle

2. Programmas.cs moduļa teksta sagatavošana

2.1. Pievienojiet Min () funkciju moduļa tekstam

Programmas klases korpusā pievienojiet Min () funkcijas tekstu.

Funkcija tiek deklarēta kā publiska (statiska) un publiska. Min () funkcijas teksts

publisks statisks int Min (int a, int b, int c) {int min = a; ja (min> b) min = b; ja (min> c) min = c; atgriešanās min; }

publisks statisks int Min (int a, int b, int c) {int min = a;  ja (min> b) min = b;  ja (min> c) min = c;  atgriešanās min;  }

Att. 2. Skats uz MS Visual Studio 2010 logu, modulis “Program.cs”

2.2. Padariet programmas klases publiski pieejamu

Lai varētu piekļūt Programmas klases Min () funkcijai, šai klasei ir jābūt publiski pieejamai. Lai to izdarītu, pirms klases pasludināšanas jums ir jādefinē publiskais atslēgvārds.

... namespace MinApp {publiskās klases programma {// klases metodes // ...}} ...

Pēc tam testa programma ir gatava.

3. Pārbaudītās programmas uzskaitījums

Pašlaik pārbaudāmās programmas uzskaitījums ir šāds:

izmantojot sistēmu; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot System.Text; namespace MinApp {publiskās klases programma {publiskā statiskā int Min (int a, int b, int c) {int min = a; ja (min> b) min = b; ja (min> c) min = c; atgriešanās min; } static void Main (virkne [] args) {Console.WriteLine (vienības testēšanas demonstrācija C #.)); }}}

Tā kā šī programma tiks pārbaudīta no cita testēšanas moduļa, nav nepieciešams neko citu ievadīt galvenajā () funkcijā. Jo, saskaņā ar problēmas stāvokli, jums ir jāpārbauda funkcijas Min () funkcija. Un tas tiks darīts no testēšanas moduļa. Pašlaik mūsu programma ir gatava testēšanai.

4. Testa izveide

Testu izveido atsevišķs projekts (Projekts) risinājumā (Solution). Pārbaudītā programma par to nezina. Programma, kas pārbaudīs (testēšanas programmu), izsauc pārbaudāmās programmas funkcijas. Mūsu gadījumā testa programma izsauks šo funkciju

int Min (int, int, int);

4.1. Jauna projekta pievienošana risinājumam

Šim risinājumam (risinājumam), izmantojot komandu, jāpievieno jauns projekts

Fails-> Pievienot-> Jauns projekts ...

Jaunā projekta izveides logs parādīts 3. attēlā.

Att. 3. Testa projekta projekta izveides logs

Logā tiek atlasīta Visual C # veidņu grupa -> Test. No atlasītajām veidnēm tiek atlasīts projekta „Testa projekts” paraugs. Laukā "Nosaukums" ir norādīts projekta nosaukums, kas pārbaudīs mūsu programmu. Jums ir jāiestata, piemēram, TestMinApp. Projekts atrodas atsevišķā mapē "E: Test MinApp".

Projekts atrodas atsevišķā mapē E: Test MinApp

Att. 4. Moduļa UnitTest1.cs teksts. Solution Explorer lietderības logs ar TestMinApp un MinApp projektiem

4.2. Risinājumu struktūra

Kā redzams 4. attēlā, Solution Explorer lietderība parāda risinājumu elementu struktūru, kas satur divus projektus:

  • projekts MinApp. Šis ir projekts, kas izveidots, izmantojot konsoles lietojumprogrammas veidni ar funkciju Min (), kuru vēlaties protestēt;
  • TestMinApp projekts. Šis projekts ir paredzēts, lai pārbaudītu MinApp projekta iezīmes. Programmas kods, kas pārbauda funkciju Min (), tiks ievadīts TestMinApp projekta UnitTest1 projekta failā.

Abus projektus var veikt neatkarīgi viens no otra.

4.3. Faila "UnitTest1.cs" teksts. Atribūti [TestMethod] un [TestClass]

TestMinApp projektā testa fails UnitTest1.cs ir galvenais interese. Šajā failā ir metodes, kas pārbaudīs MinApp projekta funkcijas. TestMinApp projekts var saturēt jebkuru skaitu failu, kas satur testus (piemēram, UnitTest2.cs, UnitTest3.cs uc).

MS Visual Studio 2010 izveidotā faila UnitTest1.cs saraksts ir šāds:

izmantojot sistēmu; izmantojot System.Text; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot Microsoft.VisualStudio.TestTools.UnitTesting; namespace TestMinApp {/// <summary> /// UnitTest1 kopsavilkuma apraksts /// </ summary> [TestClass] publiskā klase UnitTest1 {public UnitTest1 () {// // TODO: pievienojiet konstruktora loģiku šeit //} privāto TestContext testContextInstance; /// <summary> /// Iegūst vai nosaka testa kontekstu. /// </ summary> publisks TestContext TestContext {get {atgriezties testContextInstance; } set {testContextInstance = vērtība; }} #region Papildu pārbaudes atribūti // varat izmantot savus testus // // Izmantojiet ClassInitialize // [ClassInitialize ()] // public static void MyClassInitialize (TestContext testContext) {} // // Izmantojiet ClassCleanup, lai palaistu kodu pēc visu klasē veikto testu palaišanas // [ClassCleanup ()] // public static void MyClassCleanup () {} // // Izmantojiet TestInitialize palaist kodu pirms katra testa veikšanas // [TestInitialize ()] // public void MyTestInitialize () {} // // Izmantot TestCleanup ) {} // #endregion [TestMethod] public void TestMethod1 () {// // TODO: pievienojiet testa loģiku šeit //}}}

Kā redzams no iepriekš minētā koda, failā ir klases nosaukums UnitTest1. Klasei ir publiska metode, ko sauc par TestMethod1 (). Pirms TestMethod1 () metodes ieviešanas atribūts [TestMethod]. Tas nozīmē, ka jums ir jāievada kods, kas pārbaudīs MinApp projekta funkcijas metodes korpusā.

Klasē var ievadīt jebkuru metodi, kas pārbaudīs dažādas funkcijas no dažādiem moduļiem. Galvenais ir tas, ka šīs metodes ir atzīmētas ar atribūtu [TestMethod].

4.4. Moduļa UnitTest1 teksta izmaiņas. Testēšanas metodes nosaukuma maiņa

Varat mainīt metožu nosaukumus un pievienot jaunas metodes, kas ir atzīmētas ar atribūtu [TestMethod] UnitTest1.cs modulī. Ņemot vērā šo, modulī UnitTest1.cs tekstā ir jāpārsauc TestMethod1 () metode uz TestMin ().

Pēc izmaiņu veikšanas faila UnitTest1.cs moduļa saīsinātais teksts būs:

izmantojot sistēmu; izmantojot System.Text; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot Microsoft.VisualStudio.TestTools.UnitTesting; namespace TestMinApp {/// <summary> /// UnitTest1 kopsavilkuma apraksts /// </ summary> [TestClass] publiskā klase UnitTest1 {... [TestMethod] public void TestMin () {// // TODO: pievienot testu loģika šeit //}}}

4.5. MinApp projekta pieslēgšana projektam TestMinApp

Lai piekļūtu Minim () funkcijai (MinApp projekts) no TestMinApp projekta, jums ir nepieciešams savienot nosaukumu, kurā atrodas šī funkcija.

Lai to paveiktu, vispirms ir nepieciešams izsaukt konteksta izvēlni projektam TestMinApp. Pēc tam konteksta izvēlnē ir jāzvana uz komandu “Pievienot atsauci ...” (5. attēls).

attēls)

Att. 5. Komanda “Pievienot atsauksmi ...”

Rezultātā tiks atvērts logs Add Reference, kurā jāizvēlas MinApp projekts.

Att. 6. Logs "Pievienot atsauci". Projekta MinApp pieslēgšana

Pēc pabeigtām darbībām MinApp projekta funkcijas būs pieejamas izmantošanai TestMinApp projektā.

Pēc pabeigtām darbībām MinApp projekta funkcijas būs pieejamas izmantošanai TestMinApp projektā

Att. 7. Atsauces cilne ar pieslēgtu MinApp projektu

4.6. Moduļa UnitTest1.cs teksta izmaiņas
4.6.1. MinApp nosaukumvietas pievienošana modulim UnitTest1.cs

Šajā posmā modulī UnitTest1.cs jums ir jāpievieno MinApp vārda telpa, izmantojot lietošanas direktīvu:

izmantojot sistēmu; izmantojot System.Text; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot Microsoft.VisualStudio.TestTools.UnitTesting; izmantojot MinApp; namespace TestMinApp {...}

4.6.2. TestMin () metodes teksts

TestMin () metodes tekstā ievadiet šādu kodu:

... [TestMethod] public void TestMin () {// // TODO: šeit pievienojiet testa loģiku // int min; min = Programma .Min (3, 4, 5); Apstiprināt .Attiecas (2, min); } ...

4.7. UnitTest1.cs moduļa teksts

Visa UnitTest1.cs moduļa teksts ir šāds:

izmantojot sistēmu; izmantojot System.Text; izmantojot System.Collections.Generic; izmantojot System.Linq; izmantojot Microsoft.VisualStudio.TestTools.UnitTesting; izmantojot MinApp; namespace TestMinApp {/// <summary> /// UnitTest1 kopsavilkuma apraksts /// </ summary> [TestClass] publiskā klase UnitTest1 {public UnitTest1 () {// // TODO: pievienojiet konstruktora loģiku šeit //} privāto TestContext testContextInstance; /// <summary> /// Iegūst vai nosaka testa kontekstu. /// </ summary> publisks TestContext TestContext {get {atgriezties testContextInstance; } set {testContextInstance = vērtība; }} #region Papildu pārbaudes atribūti // varat izmantot savus testus // // Izmantojiet ClassInitialize // [ClassInitialize ()] // public static void MyClassInitialize (TestContext testContext) {} // // Izmantojiet ClassCleanup, lai palaistu kodu pēc visu klasē veikto testu palaišanas // [ClassCleanup ()] // public static void MyClassCleanup () {} // // Izmantojiet TestInitialize palaist kodu pirms katra testa veikšanas // [TestInitialize ()] // public void MyTestInitialize () {} // // Izmantot TestCleanup ) {} // #endregion [TestMethod] public void TestMin () {// // TODO: šeit pievienojiet testa loģiku // int min; min = Programma .Min (3, 4, 5); Apstiprināt .Attiecas (2, min); }}}

5. Izpildiet testu un pārbaudiet testa rezultātu

Programmā Microsoft Visual Studio 2010 tiek izmantota īpaša izvēlņu komanda, ko sauc par Test, lai darbotos ar vienību testiem.

Lai palaistu izpildes testu, izvēlieties vienu no komandām.

Test -> Run -> Testi pašreizējā kontekstā

vai

Tests -> Palaist -> Visi pārbaudes risinājumi

kā parādīts 8. attēlā.

Att. 8. Izsauciet starta testa komandu un apskatiet rezultātu.

Pēc testa veikšanas rezultātu var apskatīt loga Testa rezultāti apakšā. Kā redzams attēlā, tests nav izturēts. Tas ir loģiski, jo Assert.AreEqual () funkcijā mēs salīdzinām skaitļus 2 un 3, kas ir atšķirīgi. Šeit skaitlis 2 ir īpaši ieviests 3 vietā.

Ja 2. numura vietā ievadāt pareizo atbildi - numuru 3 (vismaz 3, 4, 5), tad tests tiks izpildīts (9. attēls). Tādā gadījumā TestMin () metodes teksts būs šāds:

... [TestMethod] public void TestMin () {// // TODO: šeit pievienojiet testa loģiku // int min; min = Programma .Min (3, 4, 5); Apstiprināt .Attiecas (3, min); } ...

Rezultātu logs parādīts 9. attēlā.

Att. 9. Pārbaudiet rezultātu, ja ievadāt pareizo atbildi

Tagad mēs varam secināt, ka Min () funkcija šajā gadījumā darbojas pareizi.

6. Rezultāts. Projektu mijiedarbība

Šajā rakstā ir izveidoti divi projekti. Viens MinApp projekts satur Min () funkciju, kuru vēlaties pārbaudīt. Otrais projekts TestMinApp satur testēšanas metodes.

Programmā Microsoft Visual Studio 2010 katrs projekts tiek palaists, izmantojot dažādas izvēlnes komandas. Tātad MinApp projekts tiek palaists standarta veidā no izvēlnes Run. Un TestMinApp projekts tiek palaists no īpašās pārbaudes izvēlnes.

Saistītās tēmas

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью