2010-09-30 75 views
2

我想在我的WPF應用程序中使用MSTest爲我的MainWindow類中的方法編寫單元測試。但是,我得到以下例外:WPF - XamlParseException當在Window類中的單元測試方法

System.Windows.Markup.XamlParseException:'在'System.Windows.StaticResourceExtension'上提供值引發異常。'行號「127」和行位置「32」。 ---> System.Exception:找不到名爲'verticalLineStyle'的資源。資源名稱區分大小寫。

verticalLineStyle在被包括在一個App.xamlResourceDictionary被發現。我不需要這種風格來測試我試圖測試的方法,但是我無法克服這個問題。我只是在我的單元測試中創建了一個MainWindow的新實例,並試圖調用一個實例方法。當我嘗試創建MainWindow的實例時發生異常。 MainWindow定義爲public partial class MainWindow : Window

我該如何擺脫這個錯誤?在WPF應用程序的窗口中是否有一些首選的單元測試方法?

回答

0

問題是由於應用程序未啓動,測試無法訪問App.xaml。您可能希望查看TestApi的任何與測試WPF視覺效果相關的東西(link

希望這有助於您!

3
Application.LoadComponent(
    new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative)); 

這幫了我。

+0

在Win 10的UWP應用程序中,此超載不存在。任何人都知道a)作爲第一個參數傳遞什麼,b)UWP的App.xaml的URI是什麼? – Nilzor 2016-09-06 16:19:41