Tôi 'tương đối mới' với thử nghiệm đơn vị và TDD. Chỉ gần đây tôi mới hoàn thành ứng dụng sản xuất đầu tiên của mình có (ít nhất là trong lý thuyết) bao phủ 100% mã. Tôi đã thực hiện thử nghiệm đơn vị trong các dự án trước đó cũng trong một thời gian, nhưng không phải trong thời trang TDD thực sự và với phạm vi mã tốt. Nó luôn luôn là một suy nghĩ sau. Tôi cảm thấy tôi có một nắm bắt khá tốt về nó bây giờ mặc dù.Cơ sở hạ tầng cần thiết cho TDD?
Tôi cũng đang cố gắng đào tạo phần còn lại của nhóm về TDD và thử nghiệm đơn vị để chúng tôi có thể phát triển togeather và bắt đầu tiến hành thử nghiệm đơn vị trong tất cả các ứng dụng của chúng tôi, và cuối cùng tiến tới làm đầy đủ TDD w/tự động tạo & tích hợp liên tục. Tôi đã đăng a thread here về kế hoạch tấn công/chương trình đào tạo của tôi cho các nhận xét & vi phạm.
Một trong những câu trả lời (trên thực tế là bình chọn cao nhất) đề xuất tôi thiết lập cơ sở hạ tầng đầu tiên trước khi tôi tiếp tục đào tạo. Thật không may tôi không có tiếp xúc với điều này, và googling về các chủ đề là khó khăn vì các trang cho CruiseControl.NET/nAnt/etc không thực sự giải thích 'tại sao' chúng ta nên thiết lập này và 'làm thế nào' tất cả mọi thứ kết nối togeather.
Chúng tôi là một cửa hàng nhỏ (khoảng 10 nhà phát triển) và sử dụng hầu hết các công nghệ microsoft và phát triển của chúng tôi trong VB.NET. Chúng tôi đang tìm kiếm để cuối cùng bắt đầu sử dụng C# nhưng đó là cho một thời gian khác. Tôi đã sử dụng dự án MSTest đi kèm với VS2008 cho các bài kiểm tra đơn vị của mình, và tôi đã xây dựng các ứng dụng bằng Visual Studio và triển khai bằng các dự án thiết lập MSI ... Chúng tôi cũng (không may) sử dụng VSS để kiểm soát soure của chúng tôi - nhưng đó cũng là trên khối chặt và tôi thực sự muốn loại bỏ nó và sử dụng subversion.
Tôi biết rằng tôi cần sử dụng CruiseControl.NET cho CI và không có hoặc không có MSBuild để xây dựng các ứng dụng. Và tôi có thể cần một máy chủ xây dựng để chạy tất cả các bản dựng này. Nhưng tôi không thể tìm thấy bất cứ thứ gì 'kết nối' các dấu chấm và giải thích cách chúng tương tác với nhau, cái gì nên trên máy chủ xây dựng của bạn, khi bạn nên xây dựng với máy chủ xây dựng của mình (chỉ là để triển khai xây dựng, hoặc thậm chí khi bạn chỉ muốn biên dịch ứng dụng bạn đang phát triển sau khi thực hiện một thay đổi nhỏ, trên môi trường địa phương của bạn?). Tôi cũng đang lên kế hoạch trục MSTest vì tôi thấy nó bị lỗi và thay vào đó sẽ sử dụng nUnit.
Có ai có thể thắp sáng khoảng cách này tôi có từ 'biết cách làm TDD' để 'thiết lập cơ sở hạ tầng phù hợp để toàn đội có thể làm điều đó và làm việc togeather'? Tôi hiểu việc tích hợp liên tục là gì, nhưng một lần nữa, tôi không chắc chắn về cách xây dựng một máy chủ và cách nó kết nối với mọi thứ, và tại sao chúng ta cần một (ví dụ như sân để quản lý).
cảm ơn rất nhiều vì đã dành thời gian của bạn.
Tôi cần phần nào của finalbuilder? Có vẻ như có một số trùng lặp với trình xây dựng cuối cùng và tính đồng đội. Máy chủ Finalbuilder có vẻ là một máy chủ CI, vì vậy tôi đoán tôi không cần nó. FinalBuilder có vẻ là một máy chủ xây dựng - nhưng tôi nghĩ TeamCity cũng là một máy chủ xây dựng ... Và Automise có vẻ là một công cụ tự động hóa cửa sổ trực quan, giống như một số loại nền tảng phát triển cho các ứng dụng winforms ...
_I also không thấy hỗ trợ cho người xây dựng cuối cùng trong The Team City Supported Apps Diagram: _
Tôi nghĩ rằng sau liên kết chứa bộ khá đầy đủ các thông tin về chủ đề này: http://martinfowler.com/articles/continuousIntegration.html – Tomas