9
MS Visual Studio 2005 Unit Test

MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Embed Size (px)

Citation preview

Page 1: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

MS Visual Studio 2005Unit Test

Page 2: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Agenda

Team system 概觀Unit TestCode CoverageWeb Test

Page 3: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Team System 概觀Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Dynamic Code Analyzer

Visual Studio

Team Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

Team Foundation Client (includes CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

Logical Infra. Designer

Deployment Designer

Visual Studio

Team DeveloperVisual Studio

Team TestLoad Testing

Manual Testing

Test Case Management

Change Management

Work Item Tracking

Reporting

Project Site

Visual Studio

Team Foundation Integration Services

Project ManagementBig Build

Class Designer

Page 4: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

測試種類

Unit testWeb testLoad testManual testGeneric testOrdered test3rd-party (NUnit, xUnit, …)

Page 5: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Unit Test

NamespaceMicrosoft.VisualStudio.TestTools.UnitTesting

AttributesTestMethod, TestClass, TestInitialize,

TestCleanup, ClassInitialize, ClassCleanup, AssemblyInitialize, AssemblyCleanup

Page 6: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Using Microsoft.VisualStudio.TestTeels,unitTesting;[TestClass]Public class ShoppingCartTest{

private ShoppingCart cart;[TestInitialize]public void TestInitialize(){

……..}[TestCleanup]public void TestCleanup(){

………}[TestMethod]public void TestCountAfterAdd(){

………}[TestMethod]public void TestCountAfterRemove(){

……..}

}

Page 7: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Attributes

執行時機不同TestMethod

每次執行 Unit Test 都會 runTestInitialize, TestCleanup

每次 Unit Test 的初始和結尾ClassInitialize, ClassCleanup

Class Test 的初始和結尾AssemblyInitialize, AssemblyCleanup

只執行一次,為最早及最後被呼叫的 attribute

Page 8: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

Assert Methods

Assert.AreEqual, Assert.AreNotEqualAssert.AreSame, Assert.AreNotSameAssert.IsTrue, Assert.IsFalseAssert.IsNull, Assert.IsNotNullAssert.IsInstanceOfType,

Assert.IsNotInstanceOfTypeAssert.Fail, Assert.Inconclusive

Page 9: MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test

CollectionAssert Class

AllItemsAreInstanceOfTypeAllItemsAreNotNullAllItemsAreUniqueAreEqual,AreNotEqualAreEquivalent,AreNotEquivalentContains, DoesNotContainIsNotSubsetOf, IsSubsetOf