2013-05-01 18 views
6

Tôi hiện đang xây dựng một ứng dụng mẫu, trong đó tôi sử dụng MS Test để triển khai dự án UnitTest-Based-Based-style-Style-trong-VS2012. Để làm việc này, tôi có một lớp Kịch bản trừu tượng (cơ sở) có các phương thức Given() - và When() ảo được chạy trong giai đoạn TestInitialization. Kết quả của phương thức When() - sau đó được lưu trữ và có thể được xác minh bằng cách sử dụng TestMethods tùy ý trong bất kỳ lớp kịch bản cụ thể nào, đại diện cho các câu lệnh 'Then'-. Điều này tất cả các công trình hoàn hảo.MSTest: Làm thế nào để thay đổi tên của TestMethod trong TestExplorer?

Còn một điều nữa tôi muốn kiểm soát: tên của tất cả các TestMethods khi chúng được hiển thị trong TestExplorer của Visual Studio. Điều này là do nhiều TestMethods có cùng tên hoặc giống nhau, nhưng được thực hiện trong các kịch bản khác nhau (chẳng hạn như 'ExpectedExceptionIsThrown'). Tôi đã có thể nghĩ một điều như vậy sẽ được hỗ trợ bởi MS Test, có lẽ bằng cách hỗ trợ bản địa của TestMethodAttribute như vậy:

[TestMethod("DisplayName here...")] 
public void ThenThisShouldHappen() 
{ 
    ... 
} 

Tôi đã nhìn qua API của MS thử nghiệm nhưng dường như không thể tìm thấy bất kỳ cách nào để làm điều này. Đây có phải là tất cả có thể với MS Test?

+0

Tôi không thể thấy bất kỳ cách nào. Bằng cách này, bạn có nghĩ về việc sử dụng phần mở rộng SpecFlow cho VS vì nó hỗ trợ Given When Then tự nhiên và cung cấp hỗ trợ biên tập tuyệt vời cho thử nghiệm BDD? – kamranicus

+0

Suy nghĩ về vấn đề này, quá. –

+1

Có vấn đề này quá. Có [DescriptionAttribute] (https://msdn.microsoft.com/library/microsoft.visualstudio.testtools.unittesting.descriptionattribute.aspx) nhưng theo như tôi có thể nói nó không làm gì cả. – talles

Trả lời

1

tôi đã phải vật lộn với khái niệm này cho một lúc bản thân mình cho đến khi tôi nhận ra rằng bạn có thể kích chuột phải vào khu vực thử nghiệm Explorer và chọn Nhóm By -> Class.

Điều này không hoàn hảo bằng mọi cách, nhưng kết hợp với tất cả các chức năng có sẵn với danh sách kiểm tra và/hoặc Resharper, bạn có thể tùy chỉnh trải nghiệm Thử nghiệm của mình một chút.

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