2012-11-12 27 views
7

Tôi đang cố gắng thiết lập dự án NUnit đơn giản trong Visual Studio 2012 Express bằng cách sử dụng trình quản lý NuGet. Từ dự án-> Manage NuGet Packages Tôi đã cài đặt NUnit (framework) và muốn thêm NUnit.Runner nhưng trong khi cài đặt Tôi nhận:NUnit.Runners qua Nuget trên Visual Studio 2012 express không hoạt động

'NUnit.Runners 2.6.2' already installed. 

Ok, nhưng khi tôi đi đến Tools-> Thư viện Gói Manager- > Quản lý gói NuGet cho giải pháp cả NUnit (khung công tác) và NUnit.Runners được hiển thị khi được cài đặt.

Tôi có thể sử dụng khung NUnit trong mã nhưng khi tôi đang cố chạy thử nghiệm, 'Test Explorer' cũ vẫn không hiển thị và không hiển thị bất kỳ thứ gì. Các thử nghiệm không được viện dẫn.

Tôi có thiếu thứ gì đó trong cấu hình VS2012 hoặc NUnit không?

Trả lời

6

Như tôi đã phát hiện ra Visual Studio Express không hỗ trợ các dự án mở rộng (bị cấm và vô hiệu hóa bởi Microsoft). Vì vậy, có vẻ như không có tùy chọn để sử dụng NUnit mà không có một số giải pháp. Cho đến nay tôi đã cài đặt phiên bản đầy đủ và có NUnit runner hoạt động như mong đợi.

4

Tại sao không sử dụng trình thử nghiệm tích hợp trong VS2012 và thêm chương trình thử nghiệm nunit qua trình quản lý tiện ích mở rộng?

+0

Vâng, đó là thực hiện giải pháp tôi đã suy nghĩ về. Cảm ơn. – Michal

5

Bạn cũng có thể sử dụng cách tiếp cận sombody đề cập trong các ý kiến ​​của blog post này:

  1. Thêm một tham chiếu đến nunit-console-runner trong lắp ráp thử nghiệm của bạn.

  2. Trong lắp ráp thử nghiệm của bạn, tạo ra một lớp với một lót sau (xem dưới đây)

  3. Mở thuộc tính lắp ráp thử nghiệm của bạn. Ví dụ, nhấn chuột phải vào assembly và chọn Properties.

    1. Trên tab Ứng dụng, chọn Loại đầu ra: Ứng dụng Windows; và đối tượng khởi động: NUNitConolseRunner (tệp ở trên).

    2. Trên tab Gỡ lỗi, nhập tên tệp .csproj vào Đối số dòng lệnh; và duyệt đến thư mục của tệp .csproj trong Thư mục làm việc.

  4. Lưu mọi thứ, đặt điểm ngắt và chạy bằng F5 hoặc nút mũi tên màu xanh lá cây.

Code:

using System; 
namespace MotorExampleTests 
{  
    // Written by blokeley 
    class NUnitConsoleRunner 
    { 

    [STAThread] 
    static void Main(string[] args) 
    { 
     NUnit.ConsoleRunner.Runner.Main(args); 
    } 
    } 
} 
+0

Tôi đã thử phương pháp này nhưng không thể làm cho nó hoạt động. Vì vậy, tôi đã tìm ra cách để làm cho nó hoạt động. Những gì tôi đã làm thay vì đã tạo ra một dự án giao diện điều khiển riêng biệt và sau đó chạy thử nghiệm của tôi từ phương pháp chính bằng cách chạy dòng sau: 'NUnit.ConsoleRunner.Runner.Main (chuỗi mới [] {@" C: \ myprograms \ mysolution \ MyProject. Test \ bin \ Debug \ MyProject.Test.dll "});' – FernandoZ

+0

Ngoài ra điều này cho phép tôi giữ các bài kiểm tra của tôi dưới dạng dll thay vì một exe như bài viết ở trên gợi ý. – FernandoZ

+0

Thay vì đường dẫn mã hóa cứng, bạn có thể lấy đường dẫn qua 'System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly(). GetName(). CodeBase)' – tobsen

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