ตัวเลือก“ สร้างการทดสอบหน่วย” อยู่ที่ไหน


154

ฉันได้ติดตั้ง Visual Studio 2012 Ultimate ใหม่แล้ว

ฉันสร้างโครงการทดสอบด้วยโซลูชันของฉันและมีการทดสอบหน่วยเริ่มต้นบางอย่าง อย่างไรก็ตามการคลิกขวาที่เมธอดใหม่จะไม่แสดงเมนูบริบท "สร้างการทดสอบหน่วย" อีกต่อไป

ดู Visual Studio 2010 Ultimate: ป้อนคำอธิบายรูปภาพที่นี่

และ Visual Studio 2012 Ultimate: ป้อนคำอธิบายรูปภาพที่นี่

ความคิดใดที่เป็นไปได้

UPDATE:

โซลูชันสำหรับ Visual Studio 2012 และ 2013:

Microsoft ได้รับทราบแล้วที่นี่และเสนอวิธีแก้ปัญหาอย่างเป็นทางการเพื่อแก้ไข ดาวน์โหลดติดตั้งและสนุก!


เหล่านี้เป็นทั้งโครงการเดียวกันหรือสร้าง mvc?
Daniel A. White

เหล่านี้เป็นโครงการ MVC 4 ใหม่ที่สร้างขึ้นตั้งแต่เริ่มต้น
Houman

น่าสนใจ จะเกิดอะไรขึ้นเมื่อคุณคลิกใน "เรียกใช้การทดสอบหน่วย"
Diego

2
ฉันจะรายงานสิ่งนี้ว่าเป็นข้อผิดพลาด
Daniel A. White

4
VS 11 ไม่ได้เคลื่อนไหวมากนักจากการให้โครงสร้างพื้นฐานการทดสอบผ่าน MSTest ไปจนถึงการจัดทำกรอบการทดสอบที่ถอดได้ นี่อาจเป็นผลกระทบจากการตัดสินใจครั้งนั้น ทั้งสองวิธีที่ฉันจะยื่นข้อผิดพลาด
JaredPar

คำตอบ:


86

คุณลักษณะนี้ถูกตัดจาก VS

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

สร้างตัวช่วยสร้างการทดสอบหน่วย - ใน VS2010 คุณสามารถคลิกขวาที่วิธีการในรหัสของคุณและเราจะสร้างการทดสอบหน่วยในโครงการทดสอบของคุณ ตัวช่วยสร้างนี้เชื่อมต่อกับ MS-Test อย่างแน่นหนาและขึ้นอยู่กับคุณสมบัติต่างๆเช่น Private Accessors เพื่อทำงานของมันดังนั้นมันจึงถูกตัดออก เรากำลังสำรวจทางเลือกที่นี่ แต่ยังไม่มีวิธีแก้ปัญหาที่ดี

แก้ไขมีการแก้ไข : http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx


16
หวังว่าพวกเขาจะคิดวิธีการทำงาน ดูเหมือนว่าจะเป็นการก้าวถอยหลังอย่างใหญ่หลวงมิฉะนั้น
Andrew Harry

3
ดูเหมือนว่าตัวเลือกที่สามในการแก้ปัญหานั้นจะไม่สามารถใช้งานได้อีกต่อไปใน VS2013
Sander

ฟังก์ชั่นที่มีการกลับมาใน VS2015 มาblogs.msdn.com/b/visualstudioalm/archive/2015/03/06/...ต้องขอบคุณคนที่โหวตให้มันอยู่ในvisualstudio.uservoice.com/forums/121579-visual-studio/... . @furier: บางทีคุณโหวตด้วยเหรอ?
LosManos

ฉันหมายความว่ามันอยู่ที่นั่นเมื่อ 5 นาทีที่แล้ว ... มันไม่ได้อยู่ที่นั่นตอนนี้ - ทำไมมันถึงมาและไป?
BrainSlugs83

33

"การหน่วยปั่นไฟทดสอบส่วนขยาย" สามารถใช้ได้

ส่วนขยายของตัวสร้างหน่วยทดสอบ

วิธีเพิ่มโดยตรงจาก Visual Studio 2012/2013 IDE:

  1. เมนู: เครื่องมือ -> ส่วนขยายและอัปเดต
  2. คลิก: ออนไลน์ -> แกลเลอรี Visual Studio
  3. ค้นหา: "เครื่องสร้างหน่วยทดสอบ"

การสาธิตวิดีโอ MSDN

หมายเหตุ: MSTest ใน VS 2012/2013 ยังคงแย่อยู่


28

รายการเมนูยังคงอยู่ในตำแหน่ง แต่ด้วยเหตุผลที่ไม่ทราบสาเหตุจะมองไม่เห็นในเครื่องมือแก้ไขรหัส แต่คุณสามารถใช้คำสั่ง visual studio เพื่อเรียกใช้ตัวช่วยสร้างการทดสอบหน่วย คำสั่งที่คุณต้องการคือ

EditorContextMenus.CodeWindow.CreateUnitTests

เปิดหน้าต่างคำสั่งและพิมพ์คำสั่งที่นั่น หรือพิมพ์คำสั่ง alias ดังนี้

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

และกำหนดนามแฝงให้รันคำสั่งเร็วขึ้น

อีกวิธีในการใช้งานวิซาร์ดคือแป้นพิมพ์ลัด ใน Visual Studio เปิด

Tools -> Options -> Environment -> Keyboard

พิมพ์ "createunit" ใน "แสดงคำสั่งที่มี" กล่องข้อความเพื่อกรองคำสั่ง CreateUnitTests ให้เลือก เลือก "ตัวแก้ไขข้อความ" ใน "ใช้ทางลัดใหม่ใน" คำสั่งผสมและกดทางลัดที่คุณต้องการในช่องข้อความ "กดปุ่มทางลัด" (เช่น Ctrl + T, Ctrl + C) ในที่สุดกดปุ่ม Assign สนุก!


7
ฉันทำงานนี้ไม่ได้ ฉันตั้งเคอร์เซอร์ไว้ที่วิธีการ กดรหัสย่อที่ฉันเพิ่ม แต่ได้รับข้อความ: คำสั่ง "EditorContextMenus.CodeWindow.CreateUnitTests" ไม่สามารถใช้งานได้
Ralph Jansen

ฉันได้ลองใช้งาน Visual Studio 2012 Ultimate แล้วเมื่อติดตั้งการอัปเดต
intrueder

1
ฉันได้รับข้อผิดพลาดเดียวกันกับ LockTar เมื่อฉันลองทำสิ่งนี้ ดังนั้นวิธีที่ง่ายที่สุดในการใช้การทดสอบหน่วยคือการสร้างการทดสอบหน่วยใหม่
saadan

ฉันไม่สามารถอธิบายได้ว่าทำไมคุณถึงมีข้อผิดพลาด แต่ฉันคว้าวิดีโอหลักฐานมาแล้วและคุณสามารถดูได้ที่grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html
intrueder

หากตัวช่วยสร้างไม่พร้อมใช้งานให้ดูบล็อกdl.my/2013/create-unit-tests-function-not-available-or-disabledหรือคำตอบของฉันด้านล่างstackoverflow.com/a/15184716/52277
Michael Freidgeim

19

นี่คือวิธีการเปิดใช้งานอีกครั้ง:

วิธีที่ 1 - หน้าต่างคำสั่ง

หากคุณพบว่าหนักพอคุณจะพบว่าคำสั่งให้เรียกใช้สร้างหน่วยทดสอบ ... เป็นจริง:

EditorContextMenus.CodeWindow.CreateUnitTests

คุณสามารถพิมพ์ได้ในหน้าต่างคำสั่งเพื่อเรียกใช้ตัวช่วยสร้างการทดสอบหน่วย หากคุณพบว่า verbose เกินไปคุณสามารถสร้างนามแฝงได้

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

จากนั้นเพียงพิมพ์ ut เพื่อเปิดตัวช่วยสร้าง

วิธีที่ 2 - แป้นพิมพ์ลัด

วิธีถัดไปคือไปที่ Tools-> Options-> Environment-> Keyboard และตั้งค่าปุ่มทางลัดตามที่คุณต้องการ

วิธีที่ 3 - เปิดใช้งานการสร้างหน่วยทดสอบ ... เมนูบริบท

หากต้องการเปิดใช้งานเมนูสร้างการทดสอบหน่วย ... ไปที่เครื่องมือ -> ปรับแต่ง ... เพื่อเปิดกล่องโต้ตอบปรับแต่ง ที่กล่องโต้ตอบปรับแต่งให้ไปที่แท็บคำสั่งเลือกปุ่มตัวเลือกเมนูบริบทและเลือกเมนูแก้ไขบริบท หน้าต่างรหัส

คุณจะรู้ว่ารายการเมนูนั้นมีอยู่จริงในเมนูบริบท นักพัฒนา VS ใจดีมากพอที่จะทิ้งไว้ให้

คลิกที่รายการเมนูสร้างการทดสอบหน่วย ... และคลิกเลื่อนลงจนกว่าจะอยู่ใน / ภายใต้คำสั่ง "เรียกใช้การทดสอบ .. " จากนั้นคลิกปิด

รีสตาร์ท Visual Studio 2012 และนั่นแหละ! เมนูบริบทจะพร้อมใช้งาน!

คุณอาจพบว่าการใช้วิธีการใด ๆ ข้างต้นอาจไม่ทำงาน ie หน้าต่างคำสั่งจะบอกคุณว่าคำสั่งไม่พร้อมใช้งานแป้นพิมพ์ลัดจะไม่ทำงานหรือเมนูบริบทจะพร้อมใช้งาน แต่ถูกปิดใช้งาน

เพื่อให้สิ่งเหล่านี้ทำงานได้คุณจะต้องมีโครงการทดสอบหน่วยในโซลูชันของคุณก่อน หลังจากสร้างโครงการทดสอบหน่วยคุณจะต้องเพิ่มรายการทดสอบหน่วยลงในโครงการด้วยตนเองแม้ว่าโครงการจะขยายออกด้วยหนึ่งรายการด้วยตนเอง หลังจากที่คุณทำสิ่งนี้ทุกอย่างจะทำงานเหมือนเดิมใน Visual Studio 2010 คุณสามารถลบไฟล์ UnitTest1.cs เหล่านั้นได้อย่างปลอดภัย

แหล่งที่มา (ด้วยรูปภาพฉันมีคะแนนตัวแทนไม่เพียงพอที่จะนำมาใส่):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(ps: อ่าน Caveats !!!!)


โปรดทราบว่า VS 2012 Create Unit Tests Wizard รองรับการทดสอบการสร้างสำหรับวิธีสาธารณะเท่านั้นเมื่อสนับสนุนเมธอดส่วนตัวในเวอร์ชันก่อนหน้า
Michael Freidgeim

3
นั่นช่วยฉันได้มากขอบคุณมาก ฉันขาดขั้นตอนการเพิ่มหน่วยทดสอบในการแก้ไขของฉัน
Tanveer Badar

1
สร้างการทดสอบหน่วยเดียวที่สำคัญด้วยตนเอง Silly ไม่แน่ใจว่าทำไมรายการเมนูถูกปิดใช้งานจนถึงตอนนั้น
indolentdeveloper

พบสิ่งเดียวกันที่นี่เช่นกัน .. dawalaw.com/2013/enable-create-unit-tests-on-visual-studio-2012
Sunny Tambi

9

คำตอบของintruederไม่ทำงานสำหรับผู้ใช้จำนวนมาก เมื่อฉันป้อน UT ในหน้าต่างคำสั่งบางครั้งฉันก็มีสิ่งต่อไปนี้

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

แต่บางครั้งมันก็ใช้งานได้เหมือนกันดังนั้นพฤติกรรมจึงไม่ต่อเนื่อง

ด้วยความช่วยเหลือของโพสต์ของกฎหมาย Dawaสร้างการทดสอบหน่วย…ฟังก์ชั่นไม่พร้อมใช้งานหรือปิดการใช้งาน ” ฉันพบว่าในระหว่างแต่ละเซสชันของ Visual Studio คุณจำเป็นต้องสร้างคลาสทดสอบหนึ่งชุดด้วยตนเองก่อนที่ตัวช่วยสร้างจะพร้อมใช้งาน

หากคุณมีโครงการทดสอบหน่วยที่มีอยู่ในโซลูชัน

ที่ Solution Explorer คลิกขวาที่โครงการทดสอบหน่วย -> เพิ่ม -> ทดสอบหน่วย ... นี่จะสร้างคลาสทดสอบหน่วยใหม่และทริกเกอร์ Visual Studio ว่ามีคลาสทดสอบหน่วยที่มีอยู่แล้วจึงเปิดใช้งานตัวช่วยสร้างการทดสอบหน่วย หมายเหตุ: คุณสามารถลบไฟล์คลาสการทดสอบหน่วยที่สร้างขึ้น (UnitTestX.cs) ตามที่ใช้เพื่อเรียกใช้ฟังก์ชัน

หากคุณไม่มีโครงการทดสอบหน่วยที่มีอยู่ในโซลูชันคุณต้องสร้างมันก่อนที่จะเพิ่มคลาสแบบแมนนวล:

ไปที่ไฟล์ -> เพิ่ม -> โครงการใหม่ ... ในหน้าต่างเพิ่มโครงการใหม่เลือกติดตั้ง -> Visual C # -> ทดสอบ -> โครงการทดสอบหน่วย ตั้งชื่อที่มีความหมายแล้วคลิกตกลง

Dawa กฎหมาย 's โพสต์‘ สร้างหน่วยทดสอบ ...’ฟังก์ชั่นไม่สามารถใช้ได้หรือพิการมีภาพรวมเพื่อแสดงให้เห็นในแต่ละขั้นตอน

โปรดทราบว่า VS 2012 Create Unit Tests Wizard รองรับการทดสอบการสร้างสำหรับวิธีสาธารณะเท่านั้นเมื่อสนับสนุนเมธอดส่วนตัวในเวอร์ชันก่อนหน้า

.


"คุณต้องสร้างคลาสการทดสอบหนึ่งชุดด้วยตนเองก่อนที่ตัวช่วยสร้างจะพร้อมใช้งาน" - นั่นเป็นเคล็ดลับสำหรับฉันในที่สุด
Jorj

ขอบคุณฉันใช้บล็อกของ Dawa Law และมันก็ทำเสร็จแล้ว :)
Ahmed Elbatt

6

เมนู "สร้างการทดสอบหน่วย" ถูกลบในรุ่นเบต้า ฉันไม่แน่ใจว่ามีแผนการที่จะนำมันกลับมาหรือไม่ หากเป็นปัญหาสำหรับคุณจริงๆให้ขอบนเว็บไซต์ Visual Studio UserVoice: http://visualstudio.uservoice.com/




3

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

วิธีที่ 3 - เปิดใช้งานการสร้างหน่วยทดสอบ ... เมนูบริบท

นี่เป็นวิธีที่ดีที่สุด หากต้องการเปิดใช้งานเมนูสร้างการทดสอบหน่วย ... ไปที่เครื่องมือ -> ปรับแต่ง ... เพื่อเปิดกล่องโต้ตอบปรับแต่ง ที่กล่องโต้ตอบปรับแต่งให้ไปที่แท็บคำสั่งเลือกปุ่มตัวเลือกเมนูบริบทและเลือกเมนูแก้ไขบริบท หน้าต่างรหัส


...แล้วไงต่อ? มันมีอยู่ในรายการอยู่แล้ว แต่ไม่ปรากฏเมื่อฉันคลิกขวา
Luke Puplett

0

"คุณอาจค้นพบว่าการใช้วิธีการใด ๆ ข้างต้นอาจไม่ทำงานเช่นหน้าต่างคำสั่งจะบอกคุณว่าคำสั่งไม่พร้อมใช้งานแป้นพิมพ์ลัดจะไม่ทำงานหรือเมนูบริบทจะพร้อมใช้งาน แต่ถูกปิดใช้งาน

เพื่อให้สิ่งเหล่านี้ทำงานได้คุณจะต้องมีโครงการทดสอบหน่วยในโซลูชันของคุณก่อน หลังจากสร้างโครงการทดสอบหน่วยคุณจะต้องเพิ่มรายการทดสอบหน่วยลงในโครงการด้วยตนเองแม้ว่าโครงการจะขยายออกด้วยหนึ่งรายการด้วยตนเอง หลังจากที่คุณทำสิ่งนี้ทุกอย่างจะทำงานเหมือนย้อนกลับไปใน Visual Studio 2010 คุณสามารถลบไฟล์ UnitTest1.cs เหล่านั้นได้อย่างปลอดภัย "

(Michael Freidgeim)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.