title: Is it a good practice to Create Interface for Views in MVVM
body: <p>In MVVM pattern generally we have the interface defined for <code>ViewModel</code> and not the <code>View</code> and use it for unit testing.</p>
  
  <p>I created an <code>UserControl</code> which is consumed by many Super <code>UserControls</code>, for simplicity I have a factory which creates the <code>View Object</code> of the Inner <code>UserControl</code>.</p>
  
  <p>When I want to test the Super <code>UserControl</code>, I need to mock the factory created  Inner <code>UserControl</code>.<br>
  Should I create a dummy interface which has properties defined like <code>ItemSource</code> or <code>DataContext</code> and mock it for testing? or is there any better approach?</p>
  
  <p>These properties <code>ItemSource</code> or <code>DataContext</code> will be implemented by its base class of the User Control I am deriving from and not by my inner <code>UserControl</code>. </p>