2012-10-28 29 views
5

Tôi có 3 phương pháp thử trong lớp thử nghiệm đơn vị của tôi, nhưng Visual Studio chỉ chạy thử nghiệm thứ hai, bỏ qua những người khácVisual Studio không chạy tất cả các bài kiểm tra đơn vị trong một lớp học thử nghiệm

Đây là 3 phương pháp thử:

[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); 

    } 
} 

Vì vậy, khi tôi chạy kiểm tra chỉ sortTest2 được thực thi? Tôi đang mong đợi 3 kết quả từ việc này. Tôi nhận được kết quả 1/1 đã qua. TestName: sortTest2.

Điều gì đã xảy ra với hai thử nghiệm khác mà tôi đã thực hiện?

+1

Có vẻ như nó chỉ chạy một trình biên dịch cũ hoặc một cái gì đó tương tự ... Hãy thử làm sạch bộ đệm để kiểm tra lại các thử nghiệm – gillyb

+1

Ngoài ra, hãy làm theo các quy ước đặt tên .NET - và đặt tên cho các phương pháp thử nghiệm của bạn. sắp xếp lại. (Có lẽ bạn cũng không cần 'ref', ...) –

Trả lời

4

gillyb, vâng, bạn đúng nơi tôi nghĩ. Bắt đầu lại Visual Studio đã khắc phục được sự cố.

2

Tôi đã nhận thấy các thử nghiệm được hiển thị là "không chạy" sau khi chạy thử nghiệm hoàn tất. Hóa ra các xét nghiệm này chưa bao giờ được hoàn thành do StackOverflowException bị ném vào giữa chừng.

1

Điều gì đó đã cắn tôi nhiều lần với điều này là dự án thử nghiệm không được kiểm tra để được xây dựng trong cấu hình giải pháp.

Các vấn đề liên quan