Я намагаюся використовувати MSTest для запису одиничних тестів для методів у моєму MainWindow
класу в моєму додатку WPF. Однак, я отримую таке виключення:
System.Windows.Markup.XamlParseException: "Забезпечити значення в" System.Windows.StaticResourceExtension ", що виключило". Номер рядка "127" і позиція лінії "32". ---> System.Exception: Не вдається знайти ресурс з назвою "verticalLineStyle". Імена ресурсів чутливі до регістру.
verticalLineStyle
знаходиться в a ResourceDictionary
що включено в App.xaml
. Я не потребую цього стилю, щоб перевірити метод, який я намагаюся перевірити, але не можу пройти повз цього. Я просто створюю новий екземпляр MainWindow
в моєму тестовому модулі і намагаючись викликати метод екземпляра на цьому. Виняток виникає, коли я намагаюся створити екземпляр MainWindow
. MainWindow
визначається як public partial class MainWindow : Window
.
Як позбутися цієї помилки? Чи є певний спосіб методів модульного тестування у вікнах у програмах WPF?
Відповіді:
4 для відповіді № 1Application.LoadComponent(
new Uri("/MyAppAssemblyName;component/App.xaml", UriKind.Relative));
Це допомогло мені.
0 для відповіді № 2
Проблема полягає в тому, що тест не має доступу до App.xaml, оскільки програма не запускається. Можливо, ви захочете заглянути в TestApi для всього, що стосується тестування візуальних зображень WPF (посилання)
Сподіваюся, це допомагає!