3

MainWindowMSTest を使用して、WPF アプリケーションのクラスのメソッドの単体テストを記述しようとしています。ただし、次の例外が発生します。

System.Windows.Markup.XamlParseException: ''System.Windows.StaticResourceExtension' の値を指定すると、例外がスローされました。' 行番号「127」および行位置「32」。---> System.Exception: 'verticalLineStyle' という名前のリソースが見つかりません。リソース名は大文字と小文字が区別されます。

verticalLineStyleResourceDictionary含まれる にありApp.xamlます。テストしようとしているメソッドをテストするためにこのスタイルは必要ありませんが、これを乗り越えることはできません。MainWindow単体テストで の新しいインスタンスを作成し、そのインスタンス メソッドを呼び出そうとしています。のインスタンスを作成しようとすると、例外が発生しますMainWindowMainWindowとして定義されpublic partial class MainWindow : Windowます。

このエラーを取り除くにはどうすればよいですか? WPF アプリケーションのウィンドウでメソッドを単体テストするための好ましい方法はありますか?

4

2 に答える 2

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

これは私を助けました。

于 2015-02-26T07:23:48.720 に答える
0

問題は、アプリケーションが開始されていないため、テストが App.xaml にアクセスできないことです。WPF ビジュアルのテストに関連するものについては、TestApi を調べることをお勧めします (リンク) 。

お役に立てれば!

于 2010-09-30T19:22:51.257 に答える