Tôi muốn sử dụng mstest.exe để chạy thử nghiệm đơn vị của mình trên máy chủ bản dựng, nhưng tôi không muốn cài đặt Visual Studio trên máy chủ bản dựng. Tôi có thể chỉ cài đặt MSTest mà không cần Visual Studio không?
Tôi muốn sử dụng mstest.exe để chạy thử nghiệm đơn vị của mình trên máy chủ bản dựng, nhưng tôi không muốn cài đặt Visual Studio trên máy chủ bản dựng. Tôi có thể chỉ cài đặt MSTest mà không cần Visual Studio không?
Câu trả lời:
Có thể chạy mstest.exe mà không cần studio trực quan.
Tải xuống một trong các Tác nhân cho Visual Studio ISO bên dưới và cài đặt Tác nhân Kiểm tra trên máy chủ:
Visual Studio 2017 (không gian đĩa 127MB, ít hơn để tải xuống)
Visual Studio 2015 (thiết lập 128MB, yêu cầu dung lượng đĩa 2GB)
Visual Studio 2012 (224MB)
Visual Studio 2013 (287MB)
Visual Studio 2010 (515MB)
Điều này cài đặt mọi thứ cần thiết để chạy mstest.exe từ dòng lệnh và trọng lượng nhẹ hơn nhiều so với visual studio. ~ 500mb tải xuống và khoảng ~ 300mb để chỉ cài đặt đại lý kiểm tra nếu tôi nhớ không nhầm.
CẬP NHẬT
Đối với các phiên bản cũ hơn VS 2017, hãy xem tại đây:
Câu trả lời này liên quan cụ thể đến Visual Studio 2017 và câu trả lời là có . Tuy nhiên, xin lưu ý rằng Microsoft (vẫn) không cung cấp bất kỳ loại API chính thức nào để định vị các tệp thực thi có liên quan ( MSBuild.exe
và MSTest.exe
), vì vậy bạn gặp khó khăn khi đọc các khóa đăng ký và / hoặc thăm dò các thư mục khác nhau để tìm các tệp này . Mày đã được cảnh báo.
MSTest.TestFramework
vào (các) dự án đó và xóa tham chiếu đến Microsoft.VisualStudio.QualityTools.UnitTestFramework
khỏi chúng. Bây giờ tất cả những gì bạn cần là cài đặt Công cụ xây dựng Visual Studio 2017 và gọi msbuild.exe
để thực hiện xây dựng.MSTest.exe
và vstest.console.exe
sau đó bạn có thể gọi đến. Xin lưu ý rằng thực sự tìm ra vị trí của các tệp thực thi này là một vấn đề khó khăn, vì chúng sẽ không tồn tại trong cùng một cấu trúc thư mục như MSBuild.exe
trong Công cụ xây dựng.Cuối cùng, và rất quan trọng: nếu bạn sử dụng MSTest.TestFramework
và vẫn cần có thể khám phá và chạy thử nghiệm từ bên trong Visual Studio IDE, bạn cũng sẽ cần MSTest.TestAdapter
cài đặt trong (các) dự án thử nghiệm đơn vị của mình.
1: Trong khi VS2017 hỗ trợ cài đặt song song, nó sử dụng một khóa đăng ký duy nhất chỉ ghi lại cài đặt gần đây nhất. Do đó, nếu bạn cài đặt Test Agent lần cuối, khóa sẽ trỏ đến thư mục cài đặt của nó ... nhưng Test Agent không bao gồm MSBuild.exe
, vì vậy bất kỳ mã nào dựa vào khóa đăng ký này để tìm ra đường dẫn của tệp thực thi đó, sẽ không thành công. Tại sao Microsoft không thể làm cho Test Agent trở thành một phần tùy chọn của Build Tools (để tất cả các EXE sống trong cùng một hệ thống phân cấp thư mục) là bất kỳ ai.
File extension specified '.webtest' is not a valid test extension.
đối với tôi mstest.exe vẫn không thành công .
vswhere
còn hơn không, nhưng bạn vẫn phải đặt giả thiết về vị trí của MSBuild so với thư mục cài đặt VS ... nếu (khi nào?) Microsoft quyết định di dời bất kỳ tệp thực thi nào, giả định đó không còn hợp lệ . Tại sao Microsoft không thể hoặc sẽ không tạo ra một cách có lập trình để dẫn đến đường dẫn đến MSBuild / MSTest / VSTest (trái ngược với VS install dir, điều mà không ai thực sự quan tâm) vẫn nằm ngoài tôi.
No test is available in C:\Users\..\Desktop\MyExeName.exe...
. Tôi đã mở một câu hỏi trên SO . Nếu bạn có bất kỳ manh mối nào, tôi đánh giá cao sự giúp đỡ của bạn.
Tôi nghĩ rằng bạn có thể có thể, nhưng nó chắc chắn không được hỗ trợ.
Tôi đã tìm thấy bài viết blog này được viết bởi một người tuyên bố có MSTest hoạt động mà không cần cài đặt Visual Studio.
@crocpulsar, bạn cần cài đặt Visual Studio trên máy chủ xây dựng của mình, nhưng bạn KHÔNG cần mua thêm giấy phép .
Chỉ có cách là quá nhiều phụ thuộc để xây dựng & MSTest hoạt động mà không cần cài đặt VS và chắc chắn là nó không được hỗ trợ.
Miễn là người bắt đầu xây dựng có giấy phép, bạn không cần giấy phép cho máy chủ xây dựng. Điều này đã xảy ra kể từ những ngày đen tối của năm 2005, và miễn là có phiên bản tương đương thì bạn vẫn ổn.
Nếu mọi người trong nhóm của bạn có Ultimate, thì bạn có thể tự do cài đặt nó trên máy chủ bản dựng; nhưng nếu một trong những thành viên trong nhóm của bạn có Premium, thì lý tưởng nhất là bạn nên cài đặt Premium trên máy chủ bản dựng. Điều này cũng cho phép nhiều bit khác như Bảo hiểm mã, Phân tích tác động thử nghiệm và Xác thực kiến trúc trong số những người khác.
Tôi vừa nhận được điều này hoạt động trên các máy chủ của mình mà không cần cài đặt Visual Studio 2017 IDE. Yêu cầu của tôi là
Tôi đã phải thực hiện sự kết hợp của một số điều được nêu trong các câu trả lời khác và sau đó là một câu trả lời khác ở đây .
VS2017:
Bước 3 là khắc phục sự cố sau:
"Không thể giải quyết tham chiếu này. Không thể định vị hội đồng" Microsoft.VisualStudio.QualityTools.UnitTestFramework ""
Sau đó gây ra:
"error CS0234: Loại hoặc tên không gian tên 'VisualStudio' không tồn tại trong không gian tên 'Microsoft' (bạn có thiếu tham chiếu lắp ráp không?)"
Tôi không phải thêm bất kỳ tài liệu tham khảo nào vào dự án. Tuy nhiên, đường dẫn đến vstest.console.exe được chứa trong thư mục TestAgent (đối với tôi đó là "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TestAgent \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow" )
Dưới đây là các bước tôi đã thực hiện để máy chủ xây dựng của mình chạy MsTest mà không cần cài đặt VS 2012:
Đăng ký 'msdia110.dll' bằng c: /windows/syswow64/regsvr32.exe / i '../mstest/assemblies/msdia110.dll'(Điều này đã xảy ra lỗi, nhưng vì một số lý do mà nó vẫn hoạt động. Tôi đã chạy nó một vài lần và đã thử các phiên bản regsvr32.exe khác nhau trước khi tôi kiểm tra, nhưng nó ở đó trong sổ đăng ký)
Thêm biến môi trường 'MSTEST_HOME' và đặt nó thành 'c: \ dev \ mstest \' hoặc thành đường dẫn của bạn. Tôi đã sử dụng biến môi trường trong tập lệnh xây dựng của mình.
Gỡ lỗi thực thi MsTest:
Thêm vào 'MsTest.exe.config'
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MsTest.log" />
</listeners>
</trace>
<switches>
<add name="EqtTraceLevel" value="Verbose" />
</switches>
</system.diagnostics>
Nếu bạn cần chạy công cụ webtest mstest.exe thì bạn có thể cài đặt bản dùng thử Visual Studio Enterprise và đảm bảo chạy nó ít nhất một lần (chỉ cần khởi động nó) trong tài khoản mà bài kiểm tra sẽ chạy mà không cần thực hiện thêm gì. Vì vậy, nếu thử nghiệm của bạn chạy trong Tài khoản hệ thống thì bạn cần sử dụng một số thứ như bên dưới
PS C:\agent> psexec -s cmd.exe
C:\Windows\system32>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\mstest.exe"
Microsoft (R) Test Execution Command Line Tool Version 15.0.27520.0
Copyright (c) Microsoft Corporation. All rights reserved.
Please specify tests to run, or specify the /publish switch to publish results.
For switch syntax, type "MSTest /help"
MSTest đã được công bố cho người dùng .NET Core . Thông báo có ví dụ sử dụng với dotnet
công cụ. Tôi chưa tìm ra cách để có được mstest
tệp thực thi độc lập .