• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 為WPF項目創建單元測試

    發表于:2008-09-25來源:作者:點擊數: 標簽:單元項目WPF
    可能你已發現一個問題,我們無法使用VS對WPF項目創建 單元測試 (VS2005不行,VS2008我沒試過,但據說也不行),這讓人很郁悶,這里將介紹如何使用NUnit來對WPF項目創建單元測試并解決其中的難題(但利用NUnit來對WPF創建單元測試時并不會像針對.Net2.0一樣容易,可能
    可能你已發現一個問題,我們無法使用VS對WPF項目創建單元測試(VS2005不行,VS2008我沒試過,但據說也不行),這讓人很郁悶,這里將介紹如何使用NUnit來對WPF項目創建單元測試并解決其中的難題(但利用NUnit來對WPF創建單元測試時并不會像針對.Net2.0一樣容易,可能會出現一些小問題).

    1,對普通類(非WPF UI組件)進行測試:

    這和在.Net2.0中使用NUnit進行測試時一樣,不會出現任何問題,參考下面的代碼:
    復制  保存
    [TestFixture]
    public class ClassTest
    {
        [Test]
        public void TestRun()
        {
            ClassLibrary1.Class1 obj = new ClassLibrary1.Class1();
    
            double expected = 9;
            double result = obj.GetSomeValue(3);
    
            Assert.AreEqual(expected, result);
        }
    }

    2,對WPF UI組件進行測試

    使用NUnit對WPF UI組件(比如MyWindow,MyUserControl)進行測試的時候,NUnit會報如下異常:“The calling thread must be STA, because many UI components require this”。
    下面是錯誤的測試代碼:
    復制  保存
    [TestFixture]
    public class ClassTest
    {
        [Test]
        public void TestRun()
        {
            WindowsApplication1.Window1 obj = new WindowsApplication1.Window1();
    
            double expected = 9;
            double result = obj.GetSomeValue(3);
    
            Assert.AreEqual(expected, result);
        }
    }

    單擊顯示全圖,Ctrl+滾輪縮放圖片
    為了讓調用線程為STA,我們可以編寫一個輔助類CrossThreadTestRunner:

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>