<
  • Главная
Статьи

C #. MS Visual Studio- ში ერთეული ტესტის შექმნის მაგალითი

  1. შინაარსი
  2. შესრულება
  3. 2. მოდულის ტექსტის მომზადების პროგრამის მომზადება
  4. 2.2. გააკეთე პროგრამის კლასი საჯარო
  5. 3. ტესტირებული პროგრამის ჩამონათვალი
  6. 4. გამოცდის შექმნა
  7. 4.1. ახალი პროექტის დამატება
  8. 4.2. გადაწყვეტილების სტრუქტურა
  9. 4.3. ტექსტის ფაილი "UnitTest1.cs". ატრიბუტები [TestMethod] და [TestClass]
  10. 4.4. ცვლილებების შეტანა UnitTest1 მოდულის ტექსტში. ტესტირების მეთოდის შეცვლა
  11. 4.5. MinApp პროექტის დამაკავშირებელი TestMinApp პროექტთან დაკავშირება
  12. 4.6. ცვლილებების შეტანა მოდულის UnitTest1.cs- ის ტექსტში
  13. 4.6.2. TestMin () მეთოდი ტექსტი
  14. 4.7. UnitTest1.cs მოდულის ტექსტი
  15. 5. ტესტის ჩატარება და ტესტის შედეგების შემოწმება
  16. 6. შედეგი. პროექტებს შორის ურთიერთქმედება

ეს თემა აღწერს Microsoft Visual Studio 2010 (C #) - ში მარტივი განაცხადის გამოცდის შექმნის ეტაპობრივი პროცესი. ამ მაგალითის გამოყენებით შეგიძლიათ გაიგოთ, თუ როგორ შექმნათ თქვენი საკუთარი ერთეული ტესტები. მაგალითში ასევე ჩანს, რომ ფუნქციონირების ფუნქციის შესამოწმებლად მტკიცებულებათა კლასი გამოყენება.

შინაარსი

პრობლემის მდგომარეობა

განაცხადისთვის, როგორიცაა Console Application, განავითაროს ერთეულის ტესტი, რომელიც შეამოწმებს მინი () ფუნქციის ფუნქციას, რომელიც განსაზღვრავს სამი ნომრის მაქსიმალურ ელემენტს.

მინ. () ფუნქციისთვის, ტესტირების მეთოდის დაყენება TestMin (). შეამოწმეთ ფუნქცია.

შესრულება

1. შექმენით განაცხადი Console Applicaiton- ის თარგის გამოყენებით

აწარმოებს MS Visual Studio 2010- ს შესრულების მიზნით .პროექტის შესაქმნელად კონსოლი განაცხადის ნიმუშის გამოყენებით შეიტანეთ შემდეგი ბრძანებები:

ფაილი -> ახალი -> პროექტი ...

შედეგად, ახალი პროექტის ფანჯარა იხსნება. ფანჯარაში შეარჩიეთ კონსოლი განაცხადის შაბლონი, როგორც ეს ნაჩვენებია სურათზე 1. შაბლონი შერჩეულია Visual C # Tab- ში.

ვიზუალური C # -> კონსოლი განაცხადი

ვიზუალური C # -> კონსოლი განაცხადი

ნახ. 1. ფანჯარა "ახალი პროექტი". შერჩევა განაცხადის Console განაცხადის ტიპი

2. მოდულის ტექსტის მომზადების პროგრამის მომზადება

2.1. დამატება მინი () ფუნქცია მოდულის ტექსტში

პროგრამის კლასში, მინ. () ფუნქციის ტექსტი დაამატეთ.

ფუნქცია საჯაროდ (სტატიკური) და საჯაროა. მინი () ფუნქციის ტექსტი

საჯარო სტატიკური int მინ (int, int b, int c) {int min = a; თუ (მინ.> ბ) მინ = ბ; თუ (მინ. გ) მინ = გ; დაბრუნება მინ. }

}

ნახ. 2. MS Visual Studio 2010- ის ფანჯრის ნახვა, მოდული "Program.cs"

2.2. გააკეთე პროგრამის კლასი საჯარო

იმისათვის, რომ ხელი მიუწვდებოდეთ პროგრამის პროგრამის მინი () ფუნქციაზე, ამ კლასს საჯაროდ უნდა მიუწვდებოდეთ. ამის გაკეთება, კლასი გამოცხადებამდე, საჭიროა საჯარო სიტყვის განსაზღვრა.

... სახელთა სივრცე MinApp {საჯარო კლასის პროგრამა {/ კლასის მეთოდები // ...}} ...

ამის შემდეგ, ტესტის პროგრამა მზად არის.

3. ტესტირებული პროგრამის ჩამონათვალი

ამ დროისთვის ტესტირების პროგრამის ჩამონათვალია შემდეგი:

სისტემის გამოყენებით; System.Collections.Generic- ის გამოყენებით; System.Linq- ის გამოყენებით; System.Text- ის გამოყენებით; სახელთა სივრცე MinApp {საჯარო კლასის პროგრამა {საჯარო სტატიკური int მინ (int, int b, int c) {int min = a; თუ (მინ.> ბ) მინ = ბ; თუ (მინ. გ) მინ = გ; დაბრუნება მინ. } სტატიკური ბათილია ძირითადი (string [] args) {Console.WriteLine ("დემონტრირების ტესტირება C #."); }}}

მას შემდეგ, რაც ამ პროგრამის ტესტირება მოხდება სხვა ტესტირების მოდულისგან, არ არის საჭირო სხვა (მთავარი) ფუნქციის შეტანა. იმის გამო, რომ პრობლემის მდგომარეობის გათვალისწინებით, თქვენ უნდა შეამოწმოთ მინ. (ფუნქციის ფუნქცია). და ეს გაკეთდება ტესტირების მოდულისგან. ამ ეტაპზე ჩვენი პროგრამა მზად არის ტესტირებისათვის.

4. გამოცდის შექმნა

ტესტი შექმნილია ცალკე პროექტის (პროექტი) მიერ გადაწყვეტისას (გადაწყვეტა). პროგრამის ტესტირება არ იცის ამის შესახებ. პროგრამა, რომელიც შეამოწმებს (ტესტირების პროგრამა), შეამოწმებს პროგრამის ტესტირებას. ჩვენს შემთხვევაში, ტესტის პროგრამა ფუნქციას უწოდებს

int მინ (int, int, int);

4.1. ახალი პროექტის დამატება

ამ გადაწყვეტილებისთვის (Solution) თქვენ უნდა დაამატოთ ახალი პროექტი ბრძანების გამოყენებით

ფაილი-> Add-> ახალი პროექტი ...

ახალი პროექტის შექმნის ფანჯარა ნაჩვენებია სურათზე 3.

ნახ. 3. ტიპის ტესტის პროექტის შექმნის ფანჯარა

ვიზუალური C # თარგების ჯგუფი -> ტესტი შეირჩევა ფანჯარაში. ნაჩვენები თარგებიდან, შერჩეულია "ტესტის პროექტი" პროექტის თარგი. სფეროში "სახელი" არის პროექტის დასახელება, რომელიც შეისწავლის ჩვენს პროგრამას. მაგალითად, TestMinApp- ის დაყენება გჭირდებათ. პროექტი მდებარეობს ცალკე საქაღალდეში "E: \ Test \ MinApp".

პროექტი მდებარეობს ცალკე საქაღალდეში E: \ Test \ MinApp

ნახ. 4. მოდულის მოდული UnitTest1.cs. Solution Explorer სასარგებლო ფანჯარა TestMinApp და MinApp პროექტები ნაჩვენები

4.2. გადაწყვეტილების სტრუქტურა

როგორც ჩანს სურათი 4, Solution Explorer კომუნალური გვიჩვენებს Solution Items სტრუქტურა, რომელიც შეიცავს ორ პროექტს:

  • პროექტი MinApp. ეს არის კონსოლი განაცხადის თარგის გამოყენებით შექმნილ პროექტს მინი () ფუნქციით, რომლითაც გსურთ პროტესტი;
  • TestMinApp პროექტი. პროექტი მიზნად ისახავს MinApp პროექტის თვისებების შესამოწმებლად. პროგრამის კოდი, რომელიც ახორციელებს მინი () ფუნქციას, შედის TestMinApp პროექტის UnitTest1 პროექტის ფაილი.

ორივე პროექტი შეიძლება დამოუკიდებლად განხორციელდეს ერთმანეთისგან.

4.3. ტექსტის ფაილი "UnitTest1.cs". ატრიბუტები [TestMethod] და [TestClass]

In TestMinApp პროექტი, ტესტი ფაილი UnitTest1.cs არის პირველადი ინტერესი. ეს ფაილი შეიცავს მეთოდებს, რომლებიც შეისწავლიან MinApp პროექტის ფუნქციებს. TestMinApp- ის პროექტში შეიძლება შეიცავდეს ნებისმიერი რაოდენობის ფაილი, რომელიც შეიცავს ტესტებს (მაგალითად, UnitTest2.cs, UnitTest3.cs და ა.შ.).

2010 წლის MS Visual Studio- ის მიერ წარმოებული UnitTest1.cs- ის ჩამონათვალი შემდეგია:

სისტემის გამოყენებით; System.Text- ის გამოყენებით; System.Collections.Generic- ის გამოყენებით; System.Linq- ის გამოყენებით; Microsoft.VisualStudio.TestTools.UnitTesting- ის გამოყენებით; (TestClass) საჯარო კლასის UnitTest1 {საჯარო UnitTest1 () {/ // TODO: მშენებელი ლოგიკის დამატება აქ //} კერძო TestContext testContextInstance; /// <summary> /// აკმაყოფილებს ან აწესებს სატესტო კონტექსტს. /// </ summary> public TestContext TestContext {get {return testContextInstance; } მითითებული {testContextInstance = ღირებულება; }} #region დამატებითი ტესტი ატრიბუტები // შეგიძლიათ გამოიყენოთ თქვენი ტესტები // / / გამოიყენე ClassInitialize // [ClassInitialize ()] // საჯარო სტატიკური ბათილი MyClass ინიციალიზაცია (TestContext testContext) {} // / გამოიყენე ClassCleanup- ს კოდით დაწყების შემდეგ კლასში ყველა გამოცდის ჩაბარების შემდეგ / / [ClassCleanup ()] / / საჯარო სტატიკური ბათილი MyClassCleanup () {} // // გამოიყენე TestInitialize აწარმოებს კოდს თითოეული ტესტის გაშვებაზე ადრე // TestInitialize ()] // საჯარო ბათილი MyTestInitialize () {} // // გამოიყენე TestCleanup ) {} // #endregion [TestMethod] საჯარო ძალადაკარგულად TestMethod1 () {/ // TODO: დამატება ტესტი ლოგიკა აქ //}}}

როგორც ზემოთ მოყვანილი კოდიდან ჩანს, ფაილი შეიცავს კლასს, რომელიც არის UnitTest1. კლასს აქვს საჯარო მეთოდი სახელწოდებით TestMethod1 (). TestMethod1 () მეთოდის განხორციელებამდე განთავსდება [TestMethod] ატრიბუტი. ეს იმას ნიშნავს, რომ თქვენ უნდა შეიტანოთ კოდი, რომელიც შეისწავლის მინიატპის პროექტის ფუნქციებს ამ მეთოდის ორგანიზმში.

კლასში შეგიძლიათ შეიყვანოთ ნებისმიერი მეთოდი, რომელიც სხვადასხვა მოდულისგან განსხვავებულ ფუნქციებს შეამოწმებს. მთავარია, რომ ეს მეთოდები აღინიშნება [TestMethod] ატრიბუტით.

4.4. ცვლილებების შეტანა UnitTest1 მოდულის ტექსტში. ტესტირების მეთოდის შეცვლა

თქვენ შეგიძლიათ შეცვალოთ მეთოდების სახელები და დაამატოთ ახალი მეთოდები, რომლებიც აღინიშნება [TestMethod] ატრიბუტით UnitTest1.cs მოდულში. ამის გათვალისწინებით, UnitTest1.cs- ის მოდულის ტექსტში, საჭიროა TestMethod1 () მეთოდის გამოცემა TestMin ().

ცვლილებების შეტანის შემდეგ, UnitTest1.cs- ის მოდულის მოკლე ტექსტი იქნება:

სისტემის გამოყენებით; System.Text- ის გამოყენებით; System.Collections.Generic- ის გამოყენებით; System.Linq- ის გამოყენებით; Microsoft.VisualStudio.TestTools.UnitTesting- ის გამოყენებით; [TestMethod] საჯარო ძალადაკარგულად TestMin () {/ // TODO: დამატება გამოცდის დამატება ლოგიკა აქ //}}}

4.5. MinApp პროექტის დამაკავშირებელი TestMinApp პროექტთან დაკავშირება

TestMinApp- ის პროექტის (MinApp პროექტი) წვდომისთვის, თქვენ უნდა დააკავშიროთ სახელთა სივრცე, რომელშიც ეს ფუნქციაა განთავსებული.

ამისათვის, უპირველეს ყოვლისა, საჭიროა დარეკეთ კონტექსტური მენიუ TestMinApp პროექტისთვის. შემდეგ კონტექსტური მენიუში უნდა დარეკოთ ბრძანება "დამატება მითითება ..." (სურათი 5).

 (სურათი 5)

ნახ. 5. გუნდი "დამატება Reference ..."

შედეგად, Add Reference window გაიხსნება, რომელშიც თქვენ უნდა აირჩიოთ MinApp პროექტი.

ნახ. 6. ფანჯარა "დამატება Reference". პროექტთან დაკავშირება MinApp

დასრულებული ქმედებების შემდეგ, MinApp პროექტის ფუნქციები ხელმისაწვდომი იქნება TestMinApp- ის პროექტში.

დასრულებული ქმედებების შემდეგ, MinApp პროექტის ფუნქციები ხელმისაწვდომი იქნება TestMinApp- ის პროექტში

ნახ. 7. საცნობარო ჩანართი MinApp- ის დაკავშირებულ პროექტთან

4.6. ცვლილებების შეტანა მოდულის UnitTest1.cs- ის ტექსტში
4.6.1. დამატება მინიატურ სახელთა სივრცეში UnitTest1.cs მოდულში

ამ ეტაპზე, UnitTest1.cs მოდულში, თქვენ უნდა დაამატოთ MinApp namespace გამოყენებით გამოყენებით დირექტივა:

სისტემის გამოყენებით; System.Text- ის გამოყენებით; System.Collections.Generic- ის გამოყენებით; System.Linq- ის გამოყენებით; Microsoft.VisualStudio.TestTools.UnitTesting- ის გამოყენებით; MinApp- ის გამოყენებით; სახელთა სივრცე TestMinApp {...}

4.6.2. TestMin () მეთოდი ტექსტი

TestMin () მეთოდის ტექსტში, შეიყვანეთ შემდეგი კოდი:

... [TestMethod] საჯარო ბათილად TestMin () {/ // TODO: დამატება ტესტი ლოგიკა აქ // int min; წუთი = პროგრამა. (3, 4, 5); დადასტურება .AreEqual (2 წთ); } ...

4.7. UnitTest1.cs მოდულის ტექსტი

მთლიანი UnitTest1.cs მოდულის ტექსტი შემდეგია:

სისტემის გამოყენებით; System.Text- ის გამოყენებით; System.Collections.Generic- ის გამოყენებით; System.Linq- ის გამოყენებით; Microsoft.VisualStudio.TestTools.UnitTesting- ის გამოყენებით; MinApp- ის გამოყენებით; (TestClass) საჯარო კლასის UnitTest1 {საჯარო UnitTest1 () {/ // TODO: მშენებელი ლოგიკის დამატება აქ //} კერძო TestContext testContextInstance; /// <summary> /// აკმაყოფილებს ან აწესებს სატესტო კონტექსტს. /// </ summary> public TestContext TestContext {get {return testContextInstance; } მითითებული {testContextInstance = ღირებულება; }} #region დამატებითი ტესტი ატრიბუტები // შეგიძლიათ გამოიყენოთ თქვენი ტესტები // / / გამოიყენე ClassInitialize // [ClassInitialize ()] // საჯარო სტატიკური ბათილი MyClass ინიციალიზაცია (TestContext testContext) {} // / გამოიყენე ClassCleanup- ს კოდით დაწყების შემდეგ კლასში ყველა გამოცდის ჩაბარების შემდეგ / / [ClassCleanup ()] / / საჯარო სტატიკური ბათილი MyClassCleanup () {} // // გამოიყენე TestInitialize აწარმოებს კოდს თითოეული ტესტის გაშვებაზე ადრე // TestInitialize ()] // საჯარო ბათილი MyTestInitialize () {} // // გამოიყენე TestCleanup ) {} // #endregion [TestMethod] საჯარო ძალადაკარგულად TestMin () {/ // TODO: დამატება ტესტი ლოგიკა აქ // int min; წუთი = პროგრამა. (3, 4, 5); დადასტურება .AreEqual (2 წთ); }}}

5. ტესტის ჩატარება და ტესტის შედეგების შემოწმება

Microsoft Visual Studio 2010- ში, ტესტების სპეციალური მენიუ ტესტები ხორციელდება ერთეულის ტესტებთან მუშაობისთვის.

აღსრულების ტესტირებისთვის აირჩიეთ ერთ-ერთი ბრძანება.

Test -> Run -> ტესტები მიმდინარე კონტექსტში

ან

ტესტი -> გაუშვით -> ყველა ტესტებში გამოსავალი

როგორც ეს ნაჩვენებია სურათზე 8.

ნახ. 8. დარეკეთ დაწყების სატესტო ბრძანება და იხილა შედეგი.

ტესტის ჩატარების შემდეგ შედეგი შეიძლება ჩაითვალოს ტესტირების შედეგების ფანჯრის ბოლოში. როგორც ჩანს ფიგურა, ტესტი არ არის მიღებული. ეს ლოგიკურია, რადგან Assert.AreEqual () ფუნქციაში შევადარებთ რიცხვებს 2 და 3, რომლებიც განსხვავებულია. აქ 2-ის ნაცვლად სპეციალურად შემოთავაზებული ნომერი 2.

თუ ნომერ 2-ის ნაცვლად სწორად მიუთითეთ ნომერი 3 (მინიმუმ 3, 4, 5), მაშინ გამოცდა გაივლის (სურათი 9). ამ შემთხვევაში, TestMin () მეთოდის ტექსტი იქნება შემდეგი:

... [TestMethod] საჯარო ბათილად TestMin () {/ // TODO: დამატება ტესტი ლოგიკა აქ // int min; წუთი = პროგრამა. (3, 4, 5); დადასტურება .AreEqual (3 წთ); } ...

შედეგების ფანჯარა ნაჩვენებია ნახაზზე 9.

ნახ. 9. სატესტო შედეგი შემთხვევაში, თუ შევა სწორი პასუხი

ახლა შეგვიძლია დავასკვნათ, რომ ამ საქმის მინ. () ფუნქცია სწორად მუშაობს.

6. შედეგი. პროექტებს შორის ურთიერთქმედება

ამ დოკუმენტში, ორი პროექტი იქმნება გადაწყვეტაში. ერთი MinApp პროექტი შეიცავს მინ () ფუნქციას, რომლის შესამოწმებლად გსურთ. მეორე პროექტი TestMinApp შეიცავს ტესტირების მეთოდებს.

Microsoft Visual Studio 2010-ში, თითოეული პროექტი დაიწყო სხვადასხვა მენიუს ბრძანებების გამოყენებით. ასე რომ, MinApp პროექტი დაიწყო სტანდარტული გზა Run Run მენიუდან. და TestMinApp- ის პროექტი სპეციალური ტესტის მენიუდან იწყება.

დაკავშირებული თემები



Новости
    Без плагина
    На сайте WordPress имеется файл, именуемый как .htaccess. Многие пользователи не предают ему особого внимания и не используют все его возможности. На самом деле файл .htaccess – это дополнительные конфигурации

    Плагин подписки wordpress
    Очень трудно найти один плагин подписки wordpress , который объединил бы в себе все виды подписок, которые так необходимы сайту. Именно поэтому я решил сделать подборку лучших плагинов, которые смогут

    Слайд-шоу с помощью плагина для WordPress UnPointZero Slider
    Плагин для cms WordPress UnPointZero Slider – новостной слайдер. Он отражает в форме слайд-шоу изображения со ссылками на ваши статьи и краткие выдержки оттуда. Его можно установить и на новостной сайт,

    Плагины для Wordpress
    С помощью этого плагина вы легко сможете интегрировать Google диск на ваш WordPress сайт или блог . Gravity Forms — лучший плагин для создания форм на WordPress, от самых простых (например, форма

    Подписки плагином JetPack: размещение и редакция формы подписки
    Вступление Здравствуйте! В этой статье я покажу, как использовать плагин JetPack для создания пользовательской формы подписки и как эту формы подписки плагином JetPack добавлять в статьи сайта, а при

    Чистка сайта WordPress плагином WP-optimize
    От автора Со временем использования система WordPress накапливает не нужные файлы, комментарии и неиспользуемые данные в базе данных. Эти файлы и данные создаются в процессе работы и нужны для этого,

    Возможности Jetpack плагина
    Вступление Возможности Jetpack плагина это более 30 функциональных модуля плагина, делающего его универсальным плагином WordPress, заменяющего аналогичные сторонние плагины. Jetpack один заменяет десятки

    Резервное копирование WordPress сайта без плагинов
    Вступление Резервное копирование WordPress это второе, что нужно научиться делать после установки WordPress. Можно сколько угодно говорить о безопасности сайта и его защите, но лучшего варианта защиты

    Плагины на приват для Майнкрафт ПЕ
    > > Плагины на приват для Майнкрафт ПЕ Порой всем нам хочется попробовать себя в роли администратора сервера и испытать эту ответственность, но, к сожалению, вы не всегда все знаете о создании

    Плагин WordPress Database Backup. Архивация базы данных блога на WordPress
    Привет друзья! Сегодня на очереди еще один простой, НО, необходимый и полезный плагин — плагин WordPress Database Backup , который с легкостью и самостоятельно произведет процесс, который научно называется:

  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью