2013-05-24 22 views
13

Tôi đã cài đặt Visual Studio 2012 Ultimate Edition và cấu hình SpecFlow. Tôi đã sử dụng cấu hình sau để chạy các thử nghiệm trong tệp config.xml:Không thể chạy kịch bản SpecFlow từ Visual Studio 2012 Ultimate Edition

<specFlow> 
<unitTestProvider name="MsTest" /> 
</specFlow> 

Tôi đã có thể tạo các tinh hoàn và biên dịch đúng cách. Nhưng khi tôi cố gắng chạy các kịch bản từ trình đơn ngữ cảnh với tùy chọn "Chạy kịch bản SpecFlow" hoặc "Gỡ lỗi kịch bản SpecFlow", tôi không thể thấy bất kỳ hành động nào. Nó chỉ nói "Xây dựng thành công" và không có gì khác xảy ra sau đó.

Ai đó có thể vui lòng giải thích nếu có cách nào khác để thực hiện các kịch bản không?

Xin cảm ơn trước.

Trả lời

7

file app.config của bạn nên là:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" /> 
    </configSections> 
    <specFlow> 
    <unitTestProvider name="MsTest" /> 
    </specFlow> 
</configuration> 

Đây là một link để SpecFlow wiki.

Sau đó, xây dựng lại giải pháp của bạn và bạn sẽ có thể xem và chạy thử nghiệm. Bạn có thể xem và chạy thử nghiệm của bạn từ Test/Windows/Test Explorer.

Cũng đảm bảo rằng bạn có tham chiếu đến: Microsoft.VisualStudio.QualityTools.UnitTestFramework từ dự án thử nghiệm của bạn. Sau đây là các bước sau:

  1. Tạo dự án mới: Trong trường hợp của tôi MVC 4
  2. Add "Đơn vị dự án thử nghiệm" với các giải pháp
  3. Thêm gói NuGet SpecFlow đến "Dự án thử nghiệm đơn vị"
  4. Add một tính năng/thử nghiệm ngẫu nhiên SpecFlow 5) Chạy thử nghiệm để đảm bảo nó hoạt động
+0

Tôi có cùng cài đặt trong tệp cấu hình nhưng tôi vẫn không thể chạy ít nhất một trường hợp thử nghiệm trong VS 2012. Tuy nhiên, tôi có thể chạy thử nghiệm trong VS 2010. Vui lòng đề xuất. – Nagendra

+0

Nó hoạt động cho tôi: Tôi cập nhật câu trả lời với các bước tôi đã thử nghiệm ... –

16

Tôi đã có tất cả bộ cấu hình này, nhưng tôi vẫn không thể chạy các kịch bản này trình đơn ngữ cảnh.

Cho đến khi tôi xem xét các tùy chọn SpecFlow (Tools> Options> SpecFlow) và thiết lập "VisualStudio2012" như Test Runner Tool (dưới thử nghiệm Thực hiện).

Vì một số lý do nó được đặt trên "VisualStudio2010MsTest" và sau đó các trường hợp không chạy từ trình đơn ngữ cảnh.

+0

Đối với tôi, điều này giải quyết được vấn đề không thể chạy kịch bản SpecFlow bằng cách chỉ cần nhấp chuột phải và 'chạy' trong Solution Explorer trong VS2012. Cảm ơn rất nhiều! – TimothyHeyden

+5

Cảm ơn, trong VS2013, công cụ đã được đặt thành tự động .. Không có gì xảy ra khi tôi cố gắng chạy thử nghiệm của mình. Thiết lập để ReSharper giải quyết vấn đề của tôi! – HaraldV

+0

Tôi đã phải làm điều này để có được tùy chọn menu ngữ cảnh để chạy Resharper thay vì được xây dựng trong Á hậu thử nghiệm. –

0

Tôi biết rằng đây là một bài đăng rất cũ. Tôi đã gặp vấn đề tương tự trong 4 ngày qua và cuối cùng tôi đã giải quyết nó bằng các liên kết StackOverflow ngẫu nhiên. Để tiết kiệm thời gian cho các nhà phát triển khác, nó có thể giúp:

  1. Thay đổi ReSharper phiên bản 10-8,2
  2. Tools> Mở rộng & Update> Tìm kiếm trực tuyến> NUnit Kiểm tra Adaptor> Install
  3. Visual Studio 2013
  4. Specflow Phiên bản mới nhất
  5. Cài đặt Đơn vị kiểm tra đơn vị NUnit bằng cách sử dụng cửa sổ lệnh của trình quản lý gói nuget. Tools-> Nuget Package Manager -> Package Manager Console. Chạy nó trong cửa sổ - Cài đặt gói Specflow.Nunit
  6. Khởi động lại Visual Studio.
  7. Đi tới> something.Feature> nhấp chuột phải vào mô tả kịch bản>chạy thử nghiệm đơn vị HOẶC chạy kịch bản quy trình. Phiên kiểm tra đơn vị sẽ xuất hiện.

Hy vọng nó sẽ giúp những người khác gặp vấn đề tương tự.