2008-09-05 36 views
6

Tôi đã thử gần đây để sử dụng NAnt (beta 0.86.2962.0) để chạy một số bài kiểm tra đơn vị được biên dịch với phiên bản NUnit ổn định cuối cùng (v2.4.8) mà không thành công.Làm thế nào để chạy thử nghiệm NUnit v2.4.8 với phiên bản 0.86 beta của NAnt?

Các lỗi tôi nhận được là như sau:

[nunit2] hội "C: \ Dev \ MySample \ bin \ test \ My.Sample.Tests.dll" không chứa các bài kiểm tra.

Tất nhiên, hội đồng có chứa các bài kiểm tra mà tôi có thể chạy từ bất kỳ nhân vật nào, như NUnit một, TestDriven hoặc Resharper. Tôi muốn sử dụng < nunit2> nhiệm vụ, và không trực tiếp thực hiện < exec> một, nhưng tôi tự hỏi nếu nó vẫn còn có thể, ngay cả khi sử dụng file app.config để ràng buộc các phiên bản lắp ráp.

Trả lời

10

Tôi không thể nhớ tại sao, nhưng tôi đã từ bỏ việc sử dụng tác vụ < nunit2> và tôi đã sử dụng tác vụ < exec> và nunit-console.exe vui vẻ. Nếu nó giúp, đây là mục tiêu thử nghiệm của tôi chạy NUnit và FxCop. Lưu ý rằng nó bỏ qua chúng nếu các tập tin thực thi không có trong đường dẫn Windows.

<target name="test" description="Run unit tests" depends="build"> 
    <property name="windows-path" value="${string::to-lower(environment::get-variable('PATH'))}"/> 
    <property name="nunit-in-path" 
     value="${string::contains(windows-path, 'nunit')}"/> 
    <echo message="Tests skipped because no NUnit folder was found in the Windows path." 
     unless="${nunit-in-path}"/> 
    <exec program="nunit-console.exe" if="${nunit-in-path}"> 
     <arg file="../MyProject/MyProjectTest.nunit"/> 
    </exec> 
    <property name="fxcop-in-path" 
     value="${string::contains(windows-path, 'fxcop')}"/> 
    <echo message="FxCop skipped because no FxCop folder was found in the Windows path." 
     unless="${fxcop-in-path}"/> 
    <fxcop projectFile="../MyProject/MyProject.fxcop" directOutputToConsole="true" 
     failOnAnalysisError="true" if="${fxcop-in-path}"/> 
</target> 
+1

Tôi thứ hai ... Tôi đã sử dụng để thử và thực hiện nhiệm vụ nunit2 để làm việc nhưng đã từ bỏ một thời gian và bây giờ sử dụng tác vụ exec như được mô tả ở trên. –

+2

Don, Andy: Tôi tin rằng một lý do chính đáng để sử dụng tác vụ thay vì là, nếu bộ thử nghiệm của bạn có các thử nghiệm được đánh dấu bằng [ExpectedException] và ngoại lệ thực sự bị ném, nhiệm vụ không hoạt động của AN23 báo cáo là thất bại thay vì thành công và việc xây dựng không thành công. Tôi đang gặp sự cố này ngay bây giờ. Tôi sẽ giải quyết nó bằng cách sử dụng , nhưng tất nhiên sẽ đánh giá cao một lời khuyên khác. – azheglov

+0

HI guys, tôi đang cố gắng sử dụng dll thử nghiệm đơn vị của tôi trong tập tin arg. Nhưng nó không nói những thử nghiệm nào thất bại. Thẻ arg không có chi tiết hoặc không thành công do lỗi như thế nào bạn sẽ tìm hiểu xem thử nghiệm của bạn không thành công hay được chuyển? – alice7

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