{"id":3075,"date":"2020-08-07T05:38:35","date_gmt":"2020-08-07T05:38:35","guid":{"rendered":"https:\/\/studysection.com\/blog\/?p=3075"},"modified":"2020-08-07T11:17:18","modified_gmt":"2020-08-07T11:17:18","slug":"unit-testing-in-asp-net","status":"publish","type":"post","link":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/","title":{"rendered":"Unit Testing in Asp.Net"},"content":{"rendered":"<h2>What is UnitTesting?<\/h2>\n<p>It is the first level of testing to check the functionality of an application where individual units\/ components of a software are tested. It is a component of TDD (<strong>Test Driven Development<\/strong>). Unit testing has the greatest effect on the quality of your code and integrated part of your software development workflow.<\/p>\n<h3>Testing for ASP.Net Application<\/h3>\n<p>Testing for ASP.Net applications can be done with the help of Visual Studio. Visual Studio provides a flexible and efficient way to run your unit tests and view their results in Visual Studio. We write a small piece of code for a particular method to test a particular situation or scenario. A method can have multiple scenarios so we can create multiple test cases for one method.<\/p>\n<h3>Create a project and unit tests manually<\/h3>\n<p><strong>Steps to add a unit test project to a solution:<\/strong><\/p>\n<ol>\n<li>\nAdd the new project from the visual studio.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/img1.png\" alt=\"img1\"\/>\n<\/li>\n<li>\nConfigure Your Project Details<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/web-app.png\" alt=\"web-app\"\/>\n<\/li>\n<li>\nWe can also add the \u2018Unit Test Project\u2019 into an existing project then we have to add the reference of that  project and also while creating a new project as shown below :<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/create-app.png\" alt=\"create-app\"\/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/solution.png\" alt=\"unit testing asp\" \/>\n<\/li>\n<\/ol>\n<h3>To create unit test cases into a project :<\/h3>\n<p>The unit test project (DemoUnitTesting) is created. After this we create test cases with the help of methods as an example given below:<\/p>\n<p><code><br \/>\nHomeController.cs<br \/>\nusing System;<br \/>\nusing System.Collections.Generic;<br \/>\nusing System.Linq;<br \/>\nusing System.Web;<br \/>\nusing System.Web.Mvc;<\/p>\n<p>namespace DemoUnitTesting.Controllers<br \/>\n{<br \/>\n    public class HomeController : Controller<br \/>\n    {<br \/>\n        public ActionResult TestUnitTesting()<br \/>\n        {<br \/>\n            ViewBag.Message = \"Hello Unit Testing\";   \/\/ message for testing<br \/>\n            return View();<br \/>\n        }<\/p>\n<p>    }<br \/>\n}<br \/>\n<\/code><\/p>\n<p>Case 1: Test passed<br \/>\n<code><br \/>\n<strong>HomeControllerTest.cs<\/strong><\/p>\n<p>using System.Text;<br \/>\nusing System.Web.Mvc;<br \/>\nusing Microsoft.VisualStudio.TestTools.UnitTesting;<br \/>\nusing DemoUnitTesting;<br \/>\nusing DemoUnitTesting.Controllers;<\/p>\n<p>namespace DemoUnitTesting.Tests.Controllers<br \/>\n{<br \/>\n    [TestClass]\n    public class HomeControllerTest<br \/>\n    {<br \/>\n        [TestMethod]\n        public void TestMethod()<br \/>\n        {<br \/>\n            \/\/ Arrange : sets the value of the data that is passed to the  method under test            <\/p>\n<p>            HomeController controller = new HomeController();  \/\/ create instance of controller<br \/>\n            string viewbagMessage = \"Hello Unit Testing\";   \/\/expected result     <\/p>\n<p>           \/\/ Act: invokes the method under test<br \/>\n               ViewResult result = controller.TestUnitTesting() as ViewResult;  <\/p>\n<p>           \/\/ Assert<br \/>\n            Assert.IsNotNull(result);<br \/>\n            Assert.AreEqual(viewbagMessage, result.ViewBag.Message);  \/\/compare the result<br \/>\n        }<br \/>\n       }<br \/>\n    }<br \/>\n<\/code><\/p>\n<h3>Testing the Action Result returned by a Controller <\/h3>\n<p>We can run the unit test either by entering the keyboard combination Ctrl-R, A or by clicking the RunTests as shown below. Status for the test (passed or failed ) is visible on the test explorer window.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/editor.png\" alt=\"editor unit testing\"\/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/test-method.png\" alt=\"unit test-method\"\/><\/p>\n<p>Case 2: Test failed<br \/>\n<code><br \/>\n<strong>HomeControllerTest.cs<\/strong><\/p>\n<p>using System.Text;<br \/>\nusing System.Web.Mvc;<br \/>\nusing Microsoft.VisualStudio.TestTools.UnitTesting;<br \/>\nusing DemoUnitTesting;<br \/>\nusing DemoUnitTesting.Controllers;<\/p>\n<p>namespace DemoUnitTesting.Tests.Controllers<br \/>\n{<br \/>\n    [TestClass]\n    public class HomeControllerTest<br \/>\n    {<br \/>\n        [TestMethod]\n        public void TestMethod()<br \/>\n        {<br \/>\n            \/\/ Arrange : sets the value of the data that is passed to the  method under test            <\/p>\n<p>            HomeController controller = new HomeController();  \/\/ create instance of controller<br \/>\n            string viewbagMessage = \"Hello Testing\";   \/\/change value of expected result    <\/p>\n<p>           \/\/ Act: invokes the method under test<br \/>\n               ViewResult result = controller.TestUnitTesting() as ViewResult;  <\/p>\n<p>           \/\/ Assert<br \/>\n            Assert.IsNotNull(result);<br \/>\n            Assert.AreEqual(viewbagMessage, result.ViewBag.Message);  \/\/compare the result<br \/>\n        }<br \/>\n       }<br \/>\n    }<\/p>\n<p><\/code><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/test-method.png\" alt=\"test-method\"\/><\/p>\n<h3>Debug test <\/h3>\n<p>We can debug the unit test by clicking Debug Tests as shown below:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/debug.png\" alt=\"debug\"\/><br \/>\n<img decoding=\"async\" src=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/demounit.png\" alt=\"demounit\"\/><\/p>\n<p>Here, an exception is shown that the expected result for the viewing message is \u201c Hello Testing\u201d but the actual value in the controller is  \u201cHello Unit Testing\u201d. This is how we can test more scenarios with debug exceptions.<\/p>\n<p><small><em>Microsoft Windows 10 is a widely used operating system in computers all over the world. If you have skills in Microsoft Windows 10 then you can get a <a href=\"https:\/\/www.studysection.com\/windows-10-advanced\">Windows 10 Certification<\/a> from StudySection which can help you in getting hired. A beginner level certification exam for newbies and an advanced level certification exam for experts is available on StudySection.<\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is UnitTesting? It is the first level of testing to check the functionality of an application where individual units\/<\/p>\n","protected":false},"author":1,"featured_media":3085,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[512,22,513],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>StudySection blog - Unit Testing in Asp.Net Framework<\/title>\n<meta name=\"description\" content=\"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"StudySection blog - Unit Testing in Asp.Net Framework\" \/>\n<meta property=\"og:description\" content=\"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Posts on famous people, innovations and educational topics\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/studysection\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-07T05:38:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-07T11:17:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/unit-test.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin-studysection-blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@studysection\" \/>\n<meta name=\"twitter:site\" content=\"@studysection\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin-studysection-blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\"},\"author\":{\"name\":\"admin-studysection-blog\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\"},\"headline\":\"Unit Testing in Asp.Net\",\"datePublished\":\"2020-08-07T05:38:35+00:00\",\"dateModified\":\"2020-08-07T11:17:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\"},\"wordCount\":384,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"keywords\":[\"Asp.Net\",\"testing\",\"unit\"],\"articleSection\":[\"Learn and Grow\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\",\"url\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\",\"name\":\"StudySection blog - Unit Testing in Asp.Net Framework\",\"isPartOf\":{\"@id\":\"https:\/\/studysection.com\/blog\/#website\"},\"datePublished\":\"2020-08-07T05:38:35+00:00\",\"dateModified\":\"2020-08-07T11:17:18+00:00\",\"description\":\"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.\",\"breadcrumb\":{\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/studysection.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unit Testing in Asp.Net\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/studysection.com\/blog\/#website\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"name\":\"Blog Posts on famous people, innovations and educational topics\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/studysection.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/studysection.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/studysection.com\/blog\/#organization\",\"name\":\"StudySection\",\"url\":\"https:\/\/studysection.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"contentUrl\":\"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png\",\"width\":920,\"height\":440,\"caption\":\"StudySection\"},\"image\":{\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/studysection\",\"https:\/\/twitter.com\/studysection\",\"https:\/\/www.instagram.com\/study.section\/\",\"https:\/\/www.linkedin.com\/company\/studysection\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402\",\"name\":\"admin-studysection-blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g\",\"caption\":\"admin-studysection-blog\"},\"url\":\"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"StudySection blog - Unit Testing in Asp.Net Framework","description":"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/","og_locale":"en_US","og_type":"article","og_title":"StudySection blog - Unit Testing in Asp.Net Framework","og_description":"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.","og_url":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/","og_site_name":"Blog Posts on famous people, innovations and educational topics","article_publisher":"https:\/\/www.facebook.com\/studysection","article_published_time":"2020-08-07T05:38:35+00:00","article_modified_time":"2020-08-07T11:17:18+00:00","og_image":[{"width":300,"height":200,"url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2020\/08\/unit-test.png","type":"image\/png"}],"author":"admin-studysection-blog","twitter_card":"summary_large_image","twitter_creator":"@studysection","twitter_site":"@studysection","twitter_misc":{"Written by":"admin-studysection-blog","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#article","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/"},"author":{"name":"admin-studysection-blog","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402"},"headline":"Unit Testing in Asp.Net","datePublished":"2020-08-07T05:38:35+00:00","dateModified":"2020-08-07T11:17:18+00:00","mainEntityOfPage":{"@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/"},"wordCount":384,"commentCount":0,"publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"keywords":["Asp.Net","testing","unit"],"articleSection":["Learn and Grow"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/","url":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/","name":"StudySection blog - Unit Testing in Asp.Net Framework","isPartOf":{"@id":"https:\/\/studysection.com\/blog\/#website"},"datePublished":"2020-08-07T05:38:35+00:00","dateModified":"2020-08-07T11:17:18+00:00","description":"It is the first level of testing to check the functionality of an application where individual unit\/ component of a software is tested.","breadcrumb":{"@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/studysection.com\/blog\/unit-testing-in-asp-net\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/studysection.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Unit Testing in Asp.Net"}]},{"@type":"WebSite","@id":"https:\/\/studysection.com\/blog\/#website","url":"https:\/\/studysection.com\/blog\/","name":"Blog Posts on famous people, innovations and educational topics","description":"","publisher":{"@id":"https:\/\/studysection.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/studysection.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/studysection.com\/blog\/#organization","name":"StudySection","url":"https:\/\/studysection.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","contentUrl":"https:\/\/studysection.com\/blog\/wp-content\/uploads\/2021\/10\/studySection-logo.png","width":920,"height":440,"caption":"StudySection"},"image":{"@id":"https:\/\/studysection.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/studysection","https:\/\/twitter.com\/studysection","https:\/\/www.instagram.com\/study.section\/","https:\/\/www.linkedin.com\/company\/studysection"]},{"@type":"Person","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/db367e2c29a12d1808fb1979edb3d402","name":"admin-studysection-blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/studysection.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054ac87a6874df1932004239cd8eab36?s=96&d=mm&r=g","caption":"admin-studysection-blog"},"url":"https:\/\/studysection.com\/blog\/author\/admin-studysection-blog\/"}]}},"views":312,"_links":{"self":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/3075"}],"collection":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/comments?post=3075"}],"version-history":[{"count":4,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/3075\/revisions"}],"predecessor-version":[{"id":3088,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/posts\/3075\/revisions\/3088"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media\/3085"}],"wp:attachment":[{"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/media?parent=3075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/categories?post=3075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studysection.com\/blog\/wp-json\/wp\/v2\/tags?post=3075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}