 <p>Like Felice (+1) said mocking creates a proxy which means you need to either make things virtual (so Moq can work its proxying magic and override the property).</p> <p>As an alternative if you just want to squirt in a value you can manually stub the class you want to test and expose a means to get at the setter:-</p> <pre><code>public class FooStub : Foo { public SetBar(string newValue) { Bar = newValue; } } </code></pre>