diff --git a/.NET/C#/C#.md b/.NET/C#/C#.md index 1b60292..d1d11f4 100644 --- a/.NET/C#/C#.md +++ b/.NET/C#/C#.md @@ -2860,44 +2860,6 @@ match.Groups[index].Index; // position in the input string of the matched group --- -## Unit Testing - -[Microsoft Unit Testing Tutorial](https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code?view=vs-2019) - -To test a project add a **MSTest Test Projet** to the solution. - -The test runner will execute any methods marked with `[TestInitialize]` once for every test the class contains, and will do so before running the actual test method itself. -The `[TestMethod]` attribute tells the test runner which methods represent tests. - -In `TestClass.cs`: - -```cs -using System; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Project.Tests -{ - [TestClass] - public class TestClass - { - [TestMethod] - public void TestMethod() - { - Assert.AreEqual(expected, actual); - Assert.IsTrue(bool); - Assert.IsFalse(bool); - Assert.IsNotNull(nullable); - - // assertions on collections - CollectionAssert.AreEqual(expexcted, actual), - } - } -} -``` - -[UnitTest Overloaded Methods](https://stackoverflow.com/a/5666591/8319610) -[Naming standards for unit tests](https://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html) - ## Performance Tips ### Bit Tricks diff --git a/.NET/C#/Unit Testing.md b/.NET/C#/Unit Testing.md new file mode 100644 index 0000000..3abf0f6 --- /dev/null +++ b/.NET/C#/Unit Testing.md @@ -0,0 +1,41 @@ +# Unit Testing + +## MSTest + +[Microsoft Unit Testing Tutorial](https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code?view=vs-2019) + +To test a project add a **MSTest Test Projet** to the solution. + +The test runner will execute any methods marked with `[TestInitialize]` once for every test the class contains, and will do so before running the actual test method itself. +The `[TestMethod]` attribute tells the test runner which methods represent tests. + +In `TestClass.cs`: + +```cs +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Project.Tests +{ + [TestClass] + public class TestClass + { + [TestMethod] + public void TestMethod() + { + Assert.AreEqual(expected, actual); + Assert.IsTrue(bool); + Assert.IsFalse(bool); + Assert.IsNotNull(nullable); + + // assertions on collections + CollectionAssert.AreEqual(expexcted, actual), + } + } +} +``` + +--- + +[UnitTest Overloaded Methods](https://stackoverflow.com/a/5666591/8319610) +[Naming standards for unit tests](https://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html)