8

我的单元测试类中有 3 个测试方法,但 Visual Studio 只运行第二个测试,忽略其他测试

以下是 3 种测试方法:

[TestClass()]
public class InsertionSortTest
{

    [TestMethod()]
    public void sortTest()
    {
        InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value
        int[] n = new int[] { 2, 1, 4 };
        int[] nExpected = new int[] { 1, 2, 4 };
        target.sort(ref n);
        CollectionAssert.AreEqual(nExpected, n);

    }

    [TestMethod()]
    public void sortTest2()
    {
        InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value
        int[] n = new int[] { 1, 2 };
        int[] nExpected = new int[] { 1, 2 };
        target.sort(ref n);
        CollectionAssert.AreEqual(nExpected, n);

    }

    [TestMethod()]
    public void sortTest3()
    {
        InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value
        int[] n = new int[] { 1, 2 };
        int[] nExpected = new int[] { 1, 2 };
        target.sort(ref n);
        CollectionAssert.AreEqual(nExpected, n);

    }
}

那么当我运行测试时只执行 sortTest2 吗?我期待这有 3 个结果。我得到结果 1/1 通过。测试名称:sortTest2。

我做的另外两个测试发生了什么?

4

3 回答 3

6

gillyb,是的,你在我认为正确的地方。重新启动 Visual Studio 解决了该问题。

于 2012-10-28T16:25:04.190 回答
6

我注意到测试运行完成后测试显示为“未运行”。原来这些测试从未完成,因为 StackOverflowException 在中途被抛出。

于 2015-08-20T11:41:08.853 回答
1

不止一次让我感到困扰的是,没有检查测试项目是否在解决方案配置中构建。

于 2017-05-24T14:17:43.400 回答