0

简而言之:在 Silverlight 单元测试期间如何检查 UI 用户控件的类型?

详细说明:我正在将子视图加载到父视图上的 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();
}

我应该使用模拟吗?

(WaitFor 是Justin Angel提供的辅助方法)

4

1 回答 1

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

于 2009-08-06T17:33:44.893 回答