2009-04-08 2 views
0

Вкратце: Как проверить тип пользовательского элемента пользовательского интерфейса во время тестирования модуля Silverlight?Тестирование модулей Silverlight - как проверить типы базовых интерфейсов?

Подробнее: Я загружаю дочерние представления в ContentControl на родительском представлении. Во время тестирования я хочу проверить правильность загрузки правильного представления в нужное время. Мои представления находятся в отдельных проектах, и я не хочу добавлять ссылку на эти сборки в свой тестовый проект для родительского представления (слишком тесно связанный).

Это где я застрял:

[TestMethod] 
[Asynchronous] 
[Description("Test to confirm that upon initial class creation, the login view is loaded as the default content for the TaskRegion.")] 
public void Shell_Initialisation_LoginViewIsLoadedByDefault() 
{ 
    Shell shell = new Shell(); 

    //helper method from Justin Angels example 
    WaitFor(shell, "Loaded"); 

    TestPanel.Children.Add(shell); 

    Shell_ViewModel viewModel = shell.DataContext as Shell_ViewModel; 

    EnqueueCallback(() => Assert.IsTrue(viewModel.TaskRegionContent is **How do I reference my control type**)); 

    EnqueueTestComplete(); 
} 

Должен ли я использовать насмешливый?

(The WaitFor это вспомогательный метод поставляется Justin Angel)

ответ

0

Как насчет использования GetType()? Затем вы можете использовать различные методы экземпляра Type, чтобы проверить, является ли это экземпляром типа или унаследованным от этого типа.

Assert.IsInstanceOfType(viewModel.TaskRegionContent, typeof(Control)) 

Где находится «Контроль», тип интереса, который вы хотите проверить.

См. Также: http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.assert.isinstanceoftype(VS.80).aspx

Смежные вопросы