Microsoft UnitTest 一些粗略的知识

测试中的Attribute

 

 

Life Cycle 生命周期

ClassInitialize | ClassCleanup

TestInitialize |  TestCleanup

 

数据驱动测试的一些例子 Data Driven Test Attributes

//--------------------------------------------------------
// DataRow Attribute
//--------------------------------------------------------

[DataRow(0, 0)] [DataRow(1, 1)] [DataRow(2, 1)] [DataRow(80, 23416728348467685)] [DataTestMethod] public void GivenDataFibonacciReturnsResultsOk(int number, int result) { var fib = new Fib(); var actual = fib.Fibonacci(number); Assert.AreEqual(result, actual); }
//--------------------------------------------------------
// 使用CSV作为数据的输入
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "TestsData.csv", "TestsData#csv", DataAccessMethod.Sequential)] [TestMethod] public void DataDrivenTest() { int valueA = Convert.ToInt32(this.TestContext.DataRow["valueA"]); int valueB = Convert.ToInt32(this.TestContext.DataRow["valueB"]); int expected = Convert.ToInt32(this.TestContext.DataRow["expectedResult"]); }
//--------------------------------------------------------
// 动态提供数据
[DataTestMethod] [DynamicData(nameof(GetData), DynamicDataSourceType.Method)] public void TestAddDynamicDataMethod(int a, int b, int expected) { var actual = _calculator.Add(a, b); Assert.AreEqual(expected, actual); } public static IEnumerable<object[]> GetData() { yield return new object[] { 1, 1, 2 }; yield return new object[] { 12, 30, 42 }; yield return new object[] { 14, 1, 15 }; }

 

断言的一些代码例子 Assertions

Assert.AreEqual(28, _actualFuel); // Tests whether the specified values are equal. 
Assert.AreNotEqual(28, _actualFuel); // Tests whether the specified values are unequal. Same as AreEqual for numeric values.
Assert.AreSame(_expectedRocket, _actualRocket); // Tests whether the specified objects both refer to the same object
Assert.AreNotSame(_expectedRocket, _actualRocket); // Tests whether the specified objects refer to different objects
Assert.IsTrue(_isThereEnoughFuel); // Tests whether the specified condition is true
Assert.IsFalse(_isThereEnoughFuel); // Tests whether the specified condition is false
Assert.IsNull(_actualRocket); // Tests whether the specified object is null
Assert.IsNotNull(_actualRocket); // Tests whether the specified object is non-null
Assert.IsInstanceOfType(_actualRocket, typeof(Falcon9Rocket)); // Tests whether the specified object is an instance of the expected type
Assert.IsNotInstanceOfType(_actualRocket, typeof(Falcon9Rocket)); // Tests whether the specified object is not an instance of type

StringAssert.Contains(_expectedBellatrixTitle, "Bellatrix"); // Tests whether the specified string contains the specified substring StringAssert.StartsWith(_expectedBellatrixTitle, "Bellatrix"); // Tests whether the specified string begins with the specified substring StringAssert.Matches("(281)388-0388", @"(?d{3})?-? *d{3}-? *-?d{4}"); // Tests whether the specified string matches a regular expression StringAssert.DoesNotMatch("281)388-0388", @"(?d{3})?-? *d{3}-? *-?d{4}"); // Tests whether the specified string does not match a regular expression

CollectionAssert.AreEqual(_expectedRockets, _actualRockets); // Tests whether the specified collections have the same elements in the same order and quantity. CollectionAssert.AreNotEqual(_expectedRockets, _actualRockets); // Tests whether the specified collections does not have the same elements or the elements are in a different order and quantity. CollectionAssert.AreEquivalent(_expectedRockets, _actualRockets); // Tests whether two collections contain the same elements. CollectionAssert.AreNotEquivalent(_expectedRockets, _actualRockets); // Tests whether two collections contain different elements. CollectionAssert.AllItemsAreInstancesOfType(_expectedRockets, _actualRockets); // Tests whether all elements in the specified collection are instances of the expected type CollectionAssert.AllItemsAreNotNull(_expectedRockets); // Tests whether all items in the specified collection are non-null CollectionAssert.AllItemsAreUnique(_expectedRockets); // Tests whether all items in the specified collection are unique CollectionAssert.Contains(_actualRockets, falcon9); // Tests whether the specified collection contains the specified element CollectionAssert.DoesNotContain(_actualRockets, falcon9); // Tests whether the specified collection does not contain the specified element CollectionAssert.IsSubsetOf(_expectedRockets, _actualRockets); // Tests whether one collection is a subset of another collection CollectionAssert.IsNotSubsetOf(_expectedRockets, _actualRockets); // Tests whether one collection is not a subset of another collection

Assert.ThrowsException<ArgumentNullException>(() => new Regex(null)); // Tests whether the code specified by delegate throws exact given exception of type T

 

参考:

https://www.meziantou.net/mstest-v2-test-lifecycle-attributes.htm

https://www.automatetheplanet.com/mstest-cheat-sheet/

 

posted @ 2020-08-27 11:01  No5Meters  阅读(242)  评论(0编辑  收藏  举报