140 likes | 275 Views
Unit Testing your Silverlight Applications Using the Silverlight Unit Testing Framework. By, Ben Dewey Senior Software Developer Tallan , Inc. ben@bendewey.com http ://bendewey.com/blog http://twitter.com/bendewey. Assumptions. Basic knowledge of Silverlight Unit Testing
E N D
Unit Testing your Silverlight Applications Using the Silverlight Unit Testing Framework By, Ben Dewey Senior Software Developer Tallan, Inc. ben@bendewey.com http://bendewey.com/blog http://twitter.com/bendewey
Assumptions • Basic knowledge of • Silverlight • Unit Testing • Nice to have knowledge of • MSTest
Overview • What is Testing/TDD • Setting up the Silverlight Unit Testing Test Harness • Basic Unit Test • Asynchronous Unit Tests • Questions
Preface • Unit Testing (MSTest) [TestMethod] publicvoidCan_AddNumbers() { // Arrange var calculator = newCalculator(); // Act var result = calculator.Add(1, 2); // Assert Assert.AreEqual(3, result); } • Test Driven Design (TDD) • Testing first and allowing your tests/requirements to drive your design
April 2010 Silverlight Toolkit • http://silverlight.codeplex.com
Setting up the Test Harness • Add Project • Silverlight Unit Testing Applications
Setting up the Test Harness • Add References • Microsoft.Silverlight.Testing • Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight • Modify App.xaml.cs private voidApplication_Startup(object sender, StartupEventArgs e){RootVisual = UnitTestSystem.CreateTestPage();}
Asynchronous Unit Tests [TestClass] public classMainPageTests : SilverlightTest { [TestMethod, Asynchronous] public voidCan_ShowHide_Windows() { // Arrangevar controller = new GameController();varmainPage = new MainPage(controller);this.TestPanel.Children.Add(mainPage);varstartWindow = mainPage.FindName("StartWindow") asUIElement;varendWindow = mainPage.FindName("EndWindow") asUIElement;EnqueueDelay(500);EnqueueCallback(() => { // Actcontroller.ShowStartScreen = false; // AssertAssert.AreEqual(Visibility.Collapsed, startWindow.Visibility);Assert.AreEqual(Visibility.Collapsed, endWindow.Visibility); });EnqueueDelay(500);EnqueueTestComplete(); } }
Links • http://silverlight.codeplex.com • http://www.jeff.wilcox.name/ • Jeff Wilcox – Creator of SUT
Microsoft Design Toolbox http://microsoft.com/design/toolbox
Thank You By, Ben Dewey ben@bendewey.com http://bendewey.com/blog http://twitter.com/bendewey