Hi David,
It's a little hard to tell whether the runner acts as expected when using just one test.
I propose to examine the next scenario which should give you a better indication of the smart runner's behavior:
1. Open a new project and copy this code:
public class ClassUnderTest
{
public bool Foo()
{
return true;
}
public int Goo()
{
return 1;
}
}
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
ClassUnderTest cut = new ClassUnderTest();
Assert.IsTrue(cut.Foo());
}
[TestMethod]
public void TestMethod2()
{
ClassUnderTest cut = new ClassUnderTest();
Assert.AreEqual(1, cut.Goo());
}
}
2. Run the tests using Smart Runner
3. Change the returned value of Foo to false.
4. Build the solution
The expected behavior is:
When you first run the tests, both tests should run.
After chancing Foo and rebuilding, only TestMethod1 should run because it's affected by the code you changed.
You can check which of the tests ran by opening the output window and changing the form to Typemock.
Please let us know if it helps.