2009-06-11 13 views
5

Tại sao nó không thể thừa kế các bài kiểm tra từ hội khác để chạy:Tại sao nó không thể thừa kế các bài kiểm tra phương pháp từ hội đồng khác

namespace TestProject.Base 
{ 
    [TestClass] 
    public abstract class TestBaseClass 
    { 
     [TestMethod] 
     public void BaseTest() 
     { 
      Assert.IsTrue(false); 
     } 
    } 
} 

Test Runner

namespace TestProject.UnitTest 
{ 
    [TestClass] 
    public class UnitTest : TestBaseClass 
    { 
    } 
} 

Nó chỉ có thể làm chạy thử nghiệm khi các lớp học trong hội đồng SAME WTF!

Có thể thử nghiệm thừa kế như trên với NUnit và có thể chạy được không?

+2

Bạn thấy điều gì đang dẫn bạn đến kết luận này? Một lỗi? Không có intellisense trên các thành viên cơ sở? –

+0

Thử nghiệm không chạy! Các bài kiểm tra sẽ chỉ chạy nếu tôi khai báo cả hai lớp trong cùng một assembly. –

+0

"Thử nghiệm không chạy!" Không phải là câu trả lời cho câu hỏi của anh ta. – dss539

Trả lời

2

Thật không may có vẻ như đây là hạn chế của khung công tác MSUnit. Trong tài liệu MSDN, nó nêu rõ rằng các phép thử có thể kế thừa các phương thức từ một lớp thử nghiệm khác trong cùng một assembly (xem http://msdn.microsoft.com/en-us/library/ms182517.aspx).

Có lẽ nguyên nhân cho việc này là cách MSUnit phát hiện ra các thử nghiệm và cho đến nay dường như không có cách giải quyết nào khác (ngoài việc có bản sao của các tệp thử nghiệm trong dự án).

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