Đâu là sự lựa chọn của các đơn vị tạo ra


154

Tôi đã cài đặt Visual Studio 2012 Ultimate mới.

Tôi đã tạo một Dự án thử nghiệm với giải pháp của mình và nó chứa một số thử nghiệm đơn vị mặc định. Tuy nhiên, nhấp chuột phải vào Phương thức mới không hiển thị menu ngữ cảnh "Tạo bài kiểm tra đơn vị" nữa.

Xem Visual Studio 2010 Ultimate: nhập mô tả hình ảnh ở đây

Và Visual Studio 2012 Ultimate: nhập mô tả hình ảnh ở đây

Bất cứ ý tưởng tại sao điều đó có thể được?

CẬP NHẬT:

Giải pháp cho Visual Studio 2012 và 2013:

Microsoft đã thừa nhận nó ở đây và cung cấp một công việc chính thức xung quanh bản vá để sửa nó. Tải về, cài đặt và thưởng thức!


cả hai cùng một dự án hoặc xây dựng mvc?
Daniel A. White

Đây là những dự án MVC 4 mới được xây dựng từ đầu.
Houman

Hấp dẫn. Điều gì xảy ra khi bạn nhấp vào "Chạy thử nghiệm đơn vị"?
Diego

2
Tôi sẽ báo cáo đây là một lỗi.
Daniel A. White

4
VS 11 đã chuyển rất nhiều từ hướng cung cấp cơ sở hạ tầng thử nghiệm thông qua MSTest sang cung cấp khung thử nghiệm có thể cắm được. Đây có thể là một bụi phóng xạ từ quyết định đó. Dù bằng cách nào tôi cũng sẽ báo lỗi
JaredPar

Câu trả lời:


86

Tính năng này đã được cắt từ VS.

http://bloss.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx

Tạo Trình hướng dẫn kiểm tra đơn vị - Trong VS2010, bạn có thể nhấp chuột phải vào một phương thức trong mã của mình và chúng tôi sẽ tạo một bài kiểm tra đơn vị vào dự án thử nghiệm của bạn. Trình hướng dẫn này được kết hợp rất chặt chẽ với MS-Test và phụ thuộc vào các tính năng như Private Accessors để thực hiện công việc của nó, vì vậy nó đã bị cắt. Chúng tôi đang khám phá các lựa chọn thay thế ở đây, nhưng chưa có giải pháp tốt nào.

EDIT Có một công việc xung quanh: http://bloss.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx


16
Hy vọng họ đưa ra một giải pháp làm việc. Có vẻ như một bước lùi lớn ngược lại
Andrew Harry

3
Có vẻ như tùy chọn thứ ba trong cách giải quyết đó không còn khả dụng nữa trong VS2013.
Sander

Các chức năng sẽ trở lại trong VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/... nhờ vào những người mà bình chọn cho nó trong visualstudio.uservoice.com/forums/121579-visual-studio/... . @furier: Có lẽ bạn đã bình chọn cho nó?
LosManos 11/03/2015

Ý tôi là, nó đã ở đó 5 phút trước ... bây giờ nó không ở đó - tại sao nó lại đến và đi?
BrainSlugs83

33

Phần mở rộng "Trình tạo thử nghiệm đơn vị " khả dụng

Đơn vị kiểm tra mở rộng máy phát điện

Để thêm trực tiếp từ Visual Studio 2012/2013 IDE:

  1. Menu: Công cụ -> Tiện ích mở rộng và cập nhật
  2. Bấm: Trực tuyến -> Thư viện Visual Studio
  3. Tìm kiếm: "Đơn vị tạo thử nghiệm"

Trình diễn video MSDN

Lưu ý: MSTest trong VS 2012/2013 vẫn còn hút


28

Mục menu vẫn còn, nhưng không rõ vì sao nó không hiển thị trong trình chỉnh sửa mã. Nhưng bạn có thể sử dụng các lệnh phòng thu trực quan để chạy trình hướng dẫn kiểm tra đơn vị. Lệnh bạn cần là

EditorContextMenus.CodeWindow.CreateUnitTests

Mở cửa sổ lệnh và gõ lệnh ở đó. Hoặc nhập lệnh bí danh như sau

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

và gán bí danh để chạy lệnh nhanh hơn.

Một cách khác để chạy trình hướng dẫn là phím tắt. Trong Visual Studio mở

Tools -> Options -> Environment -> Keyboard

Nhập "creatunit" trong hộp văn bản "Hiển thị các lệnh chứa" để lọc ra lệnh CreatUnitTests, chọn nó. Chọn "Trình soạn thảo văn bản" trong "Sử dụng phím tắt mới trong" và nhấn phím tắt bạn muốn trong trường văn bản "Bấm phím tắt" (ví dụ: Ctrl + T, Ctrl + C). Cuối cùng, nhấn nút Assign. Thưởng thức!


7
Tôi không thể làm việc này. Tôi đặt con trỏ trên phương thức. Nhấn vào shortcode tôi đã thêm nhưng sau đó nhận được thông báo: Lệnh "EditorContextMenus.CodeWindow.CreateUnitTests" không khả dụng.
Ralph Jansen

Tôi đã thử trên Visual Studio 2012 Ultimate với bản cập nhật được cài đặt, có thể đó là vấn đề.
kẻ xâm nhập

1
Tôi gặp lỗi tương tự như LockTar khi tôi thử điều này. Vì vậy, cách dễ nhất để sử dụng thử nghiệm đơn vị là thực hiện một thử nghiệm đơn vị mới.
saadan

Tôi không thể giải thích lý do tại sao bạn gặp lỗi, nhưng tôi đã lấy video bằng chứng và bạn có thể xem nó tại Grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html
kẻ xâm nhập

Nếu thuật sĩ không có sẵn, hãy xem blog dl.my/2013/create-unit-tests-f ghép-not-av Available- or- disables hoặc câu trả lời của tôi bên dưới stackoverflow.com/a/15184716/52277
Michael Freidgeim

19

Đây là cách để kích hoạt lại:

Phương pháp 1 - Cửa sổ lệnh

Nếu bạn thấy đủ khó, bạn sẽ phát hiện ra rằng lệnh để gọi Kiểm tra đơn vị tạo ... thực sự là:

EditorContextMenus.CodeWindow.CreateUnitTests

Bạn thực sự có thể gõ nó trong Cửa sổ lệnh để gọi Trình hướng dẫn kiểm tra đơn vị tạo. Nếu bạn thấy nó quá dài dòng, bạn thực sự có thể tạo một bí danh cho nó.

bí danh ut EditorContextMenus.CodeWindow.CreateUnitTests

Sau đó, chỉ cần gõ ut để khởi chạy trình hướng dẫn.

Phương pháp 2 - Phím tắt

Phương pháp tiếp theo là vào Công cụ-> Tùy chọn-> Môi trường-> Bàn phím và đặt phím tắt theo sở thích của bạn.

Phương pháp 3 - Kích hoạt lại Tạo thử nghiệm đơn vị ... Menu ngữ cảnh.

Để bật lại menu Tạo thử nghiệm đơn vị ..., hãy chuyển đến Công cụ-> Tùy chỉnh ... để khởi chạy hộp thoại Tùy chỉnh. Trong hộp thoại Tùy chỉnh, chuyển đến tab Lệnh, chọn nút radio Trình đơn ngữ cảnh và chọn Trình đơn ngữ cảnh Trình soạn thảo | Cửa sổ mã.

Bạn sẽ nhận ra rằng mục menu thực sự có sẵn trong menu ngữ cảnh. Các nhà phát triển VS đã tốt bụng để lại nó cho chúng tôi.

Nhấp vào mục menu Tạo đơn vị Kiểm tra ... và nhấp Di chuyển xuống cho đến khi nó bật / bên dưới Lệnh "Chạy thử ..". Sau đó bấm Đóng.

Khởi động lại Visual Studio 2012 và thế là xong! Menu ngữ cảnh sẽ có sẵn!

Bạn có thể khám phá ra rằng sử dụng bất kỳ phương pháp nào ở trên có thể không hoạt động. tức là Cửa sổ lệnh sẽ cho bạn biết rằng lệnh không khả dụng, phím tắt sẽ không kích hoạt hoặc menu Ngữ cảnh sẽ khả dụng nhưng bị tắt.

Để cho phép tất cả những thứ này hoạt động, trước tiên bạn sẽ cần phải có Dự án thử nghiệm đơn vị trong giải pháp của mình. Sau khi tạo Dự án kiểm tra đơn vị, bạn sẽ cần thêm thủ công một mục Kiểm tra đơn vị vào dự án mặc dù dự án tự mở ra với một dự án. Sau khi bạn đã hoàn thành việc này, mọi thứ sẽ hoạt động như trở lại trong Visual Studio 2010. Bạn có thể xóa các tệp UnitTest1.cs một cách an toàn.

Nguồn (có hình ảnh, tôi không có đủ Điểm Rep để đặt chúng):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(ps: đọc Caveats !!!!)


Lưu ý, rằng VS 2012 Tạo đơn vị kiểm tra đơn vị hỗ trợ kiểm tra tạo phương thức chỉ cho các phương thức công khai, khi ở phiên bản trước, các phương thức riêng tư cũng được hỗ trợ.
Michael Freidgeim

3
Điều đó đã giúp tôi rất nhiều, cảm ơn bạn rất nhiều. Tôi đã bỏ lỡ bước thêm một bước kiểm tra đơn vị giả trong phương thuốc của mình.
Tanveer Badar

1
Tự tạo một bài kiểm tra quan trọng. Ngớ ngẩn không chắc chắn tại sao các mục menu đã bị vô hiệu hóa cho đến lúc đó.
không chuyên nghiệp

Tìm thấy điều tương tự ở đây nữa .. dawalaw.com/2013/enable-create-unit-tests-on-visual-studio-2012
Sunny Tambi

9

Câu trả lời của kẻ xâm nhập đã không làm việc cho nhiều người dùng. Khi tôi nhập UT trong cửa sổ lệnh, đôi khi tôi có những điều sau đây

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.

Nhưng đôi khi nó làm việc cho cùng một giải pháp, vì vậy hành vi dường như không liên tục.

Với sự trợ giúp của bài viết của Dawa Law , Tạo các bài kiểm tra Đơn vị Chức năng không có sẵn hoặc bị vô hiệu hóa "Tôi thấy rằng trong mỗi phiên Visual Studio, bạn cần tạo một lớp kiểm tra thủ công trước khi có trình hướng dẫn.

Nếu bạn có một dự án Kiểm tra đơn vị hiện có trong giải pháp,

Tại Solution Explorer, nhấp chuột phải vào dự án Kiểm tra đơn vị -> Thêm -> Kiểm tra đơn vị Điều này sẽ tạo ra một lớp kiểm tra đơn vị mới và kích hoạt Visual Studio có sẵn một lớp Kiểm tra đơn vị, do đó cho phép tạo Trình hướng dẫn kiểm tra đơn vị. Lưu ý: Bạn có thể xóa tệp lớp Kiểm tra đơn vị đã tạo (UnitTestX.cs) vì nó được sử dụng để kích hoạt chức năng.

Nếu bạn không có dự án Kiểm tra đơn vị hiện có trong giải pháp, bạn cần tạo dự án trước khi thêm lớp thủ công:

Đi tới Tệp -> Thêm -> Dự án mới Trong cửa sổ Thêm dự án mới, chọn Đã cài đặt -> Visual C # -> Kiểm tra -> Dự án thử nghiệm đơn vị. Đặt tên cho nó có ý nghĩa và nhấp vào OK

Các Luật Dawa bài 's ‘ Tạo Unit Tests ...’ Chức năng không có sẵn hoặc tàn tật có ảnh chụp để minh họa từng bước.

Lưu ý, rằng VS 2012 Tạo đơn vị kiểm tra đơn vị hỗ trợ kiểm tra tạo phương thức chỉ cho các phương thức công khai , khi ở phiên bản trước, các phương thức riêng tư cũng được hỗ trợ.

.


"bạn cần phải tạo một lớp kiểm tra theo cách thủ công trước khi trình hướng dẫn có sẵn" - cuối cùng, đó là mẹo cho tôi
Jorj

Cảm ơn tôi đã sử dụng blog của Dawa Law và nó đã được thực hiện cuối cùng :)
Ahmed Elbatt


4

Bạn có thể lấy lại nhấp chuột phải vào "Tạo bài kiểm tra đơn vị ..." bằng cách nhập các cài đặt vss sau từ đây .


3

http://bloss.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

Phương pháp 3 - Kích hoạt lại Tạo thử nghiệm đơn vị ... Menu ngữ cảnh.

Đây là phương pháp tốt nhất từ ​​trước đến nay. Để bật lại menu Tạo thử nghiệm đơn vị ..., hãy chuyển đến Công cụ-> Tùy chỉnh ... để khởi chạy hộp thoại Tùy chỉnh. Trong hộp thoại Tùy chỉnh, chuyển đến tab Lệnh, chọn nút radio Trình đơn ngữ cảnh và chọn Trình đơn ngữ cảnh Trình soạn thảo | Cửa sổ mã.


...và rồi chuyện gì xảy ra? Nó đã được liệt kê trong đó nhưng nó không hiển thị khi tôi nhấp chuột phải.
Luke Puplett

0

"Bạn có thể phát hiện ra rằng sử dụng bất kỳ phương pháp nào ở trên có thể không hoạt động. Tức là Cửa sổ lệnh sẽ cho bạn biết rằng lệnh không khả dụng, phím tắt sẽ không kích hoạt hoặc menu Ngữ cảnh sẽ khả dụng nhưng bị tắt.

Để cho phép tất cả những thứ này hoạt động, trước tiên bạn sẽ cần phải có Dự án thử nghiệm đơn vị trong giải pháp của mình. Sau khi tạo Dự án kiểm tra đơn vị, bạn sẽ cần thêm thủ công một mục Kiểm tra đơn vị vào dự án mặc dù dự án tự mở ra với một dự án. Sau khi bạn thực hiện điều này, mọi thứ sẽ hoạt động như trở lại trong Visual Studio 2010. Bạn có thể xóa các tệp UnitTest1.cs một cách an toàn. "

(Michael Freidgeim)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.