2008-11-03 16 views
12

Tôi đã tìm cách thực hiện một số phát triển thử nghiệm cho một trong các ứng dụng tôi đang viết (OLE wrapper cho đối tượng OLE). Vấn đề duy nhất là tôi đang sử dụng các phiên bản Express của Visual Studio (cho bây giờ), tại thời điểm này tôi đang sử dụng VB express nhưng đôi khi tôi sử dụng C# express.Cách tốt nhất để thực hiện TDD trong các phiên bản nhanh của studio trực quan (ví dụ: VB Express)

Có thể thực hiện TDD trong các phiên bản nhanh không? Nếu vậy thì cái bast là gì?

Chúc mừng.

EDIT. Bởi vẻ ngoài của những thứ tôi sẽ phải mua các studio trực quan đầy đủ để tôi có thể làm TDD tích hợp, hy vọng có tiền trong ngân sách để mua một bản sao :). Bây giờ tôi nghĩ tôi sẽ dùng Nunit như mọi người đang nói.

Trả lời

10

Nunit dường như hoạt động độc lập, tại sao không dùng thử với các phiên bản Express của Visual Studio?

Dường như bạn phải sử dụng các kiểm tra dll ngoài VS, từ giao diện Nunit.

+0

Man NUnit không hoạt động trơn tru với VSExpress IMHO. –

6

Thật không may Jamie Cansdale, người đề xuất chính của phiên bản TestDriven.NET và NUnit, ran into a lot of legal trouble when he put up TestDriven.NET that works with Visual Studio Express 2005.

VS EULA của 2008 Express đã được sửa đổi để khóa TestDriven.NET ra khỏi IDE.

Tôi nghĩ cách duy nhất bạn có thể chạy thử nghiệm của mình là mở các DLL đã biên dịch một cách rõ ràng với ứng dụng khách NUnit bên ngoài Visual Studio.

0

Để kiểm tra đơn vị, bạn có thể sử dụng NUnit.

Để hoàn tất mã, bạn có thể sử dụng NCoverNCoverExplorer.

Tất cả những điều trên không cắm vào Visual Studio Express nhưng chúng có giao diện người dùng riêng. Tôi thường chạy thử nghiệm của tôi bằng cách sử dụng một tập lệnh batch.

6

Microsoft sẽ không cho phép tiện ích mở rộng của bên thứ ba cho phiên bản Express dành cho studio trực quan. Như Jon Limjap đã đề cập đến Testdriven.Net sẽ không hoạt động cho studio trực quan. Những người chạy thử nghiệm khác tích hợp với studio trực quan như một người trong bộ chia sẻ lại sẽ không hoạt động.

Các khung kiểm thử đơn vị nhất như Xunit.Net, Nunit và MBUnit có trình kiểm tra độc lập riêng. Bạn có thể biên dịch các bài kiểm tra của bạn với visual studio express sau đó tải các assembly kiểm tra trong testrunner và thực hiện các bài kiểm tra.

Bạn không thể thử nghiệm mã trong các dự án web theo cách này. Bạn cần phải đặt các bài kiểm tra và mã bạn muốn kiểm tra trong các thư viện lớp riêng biệt. Các dự án web được biên dịch theo yêu cầu của máy chủ web và điều này làm cho việc thử nghiệm trở nên khó khăn.

Một bổ sung hữu ích của Marc Gravell: Web trang web dự án được biên soạn theo yêu cầu. Web ứng dụng dự án được biên dịch trước.

Vì vậy, bạn sẽ có thể chạy thử nghiệm trong một dự án ứng dụng web với một nhân viên kiểm tra bên ngoài.

+1

Các dự án web * trang web được biên dịch theo yêu cầu. Các dự án * ứng dụng web được biên dịch trước. –

+0

Cảm ơn Marc. Sẽ thêm điều đó vào câu trả lời của tôi. – Mendelt

0

cho tdd, đã có một số phát triển cho so với express 2008 và bạn có thể tìm thêm thông tin trong số site này.nó được gọi là unit express gui

1

Bạn cũng có thể muốn xem xét ExpressUnit làm khung kiểm tra trọng lượng nhẹ cho VS 2008 Express. Khung công tác tích hợp vào giải pháp của bạn dưới dạng một thư viện lớp có nghĩa là bạn không cần một trình kiểm tra bên ngoài để chạy thử nghiệm của bạn. Điều này mang lại cho bạn lợi thế của việc chạy thử nghiệm của bạn trong quá trình có nghĩa là bạn có thể gỡ lỗi các bài kiểm tra của bạn trực tiếp. Vì VS 2008 Express không thể đính kèm các công cụ pary thứ ba hết tiến trình, điều này có thể hữu ích. ExpressUnit có sẵn dưới dạng ứng dụng WPF.

đọc thêm ở đây http://torgeirhelgevold.wordpress.com/2008/05/31/unit-testing-in-visual-studio-express-2008/

Tor

0

Cũng cố gắng để tích hợp đơn vị kiểm tra vào Visual Studio 2008 Express và tìm thấy trang web này: link. Công trình tuyệt vời - và không rời khỏi Visual Studio :)

0

Có vẻ như hình ảnh C# 2010 express có một số loại tiện ích mở rộng nhưng tôi không thể tìm thấy bất kỳ điều gì cho nunit (git hoặc subversion). Bất cứ ai nhìn thấy bất cứ điều gì về điều đó?

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