Các hoạt động sau đây trong VS2012 cho các dự án thử nghiệm được bao gồm trong nhiều giải pháp mà không cần sử dụng tệp thử nghiệm:
1) Sắp xếp các tệp và thư mục bạn muốn triển khai vào một thư mục trong thư mục dự án thử nghiệm.
2) Trong thuộc tính dự án, tạo một bước xây dựng bài
xcopy /Y /S /i "$(ProjectDir)<Project_Folder_Name>\*" "$(TargetDir)<Deployment_Folder_Name>"
$(ProjectDir)
và $(TargetDir)
là các macro sẽ được giải thích bởi VS và nên được đưa vào như vậy.
<Project_Folder_Name>
là tên của thư mục được tạo ở bước 1.
<Deployment_Folder_Name>
là tên của thư mục trong đó các tập tin thử nghiệm sẽ được triển khai và cần được đặt tên như vậy mà nó sẽ là duy nhất khi nhiều dự án thử nghiệm được triển khai để cùng một thư mục, ví dụ <Project_Name>_TestInputs
.
Các tệp thử nghiệm trong các vị trí được chia sẻ cũng nên được sao chép vào thư mục triển khai thư mục đích để hạn chế các tương tác thử nghiệm. Cung cấp đường dẫn nguồn liên quan đến $(ProjectDir)
macro. Ví dụ "$(ProjectDir)..\..\Common Files\C1219TDL-2008.xml"
.
3) Thêm một thuộc [DeploymentItem(source, destination)]
tính cho mỗi phương thức thử nghiệm sử dụng tệp triển khai (thực tiễn tốt nhất) hoặc vào lớp thử nghiệm (thực hành dễ dàng hơn cho người lười biếng hoặc vội vàng và cách dễ nhất để cập nhật dự án các đường dẫn tương đối được sử dụng trước đó hoặc tệp cài đặt thử nghiệm ).
Trên một phương thức thử nghiệm, source
là đường dẫn đến tệp hoặc thư mục được sử dụng trong phương thức thử nghiệm so với thư mục đích được tạo bởi xcopy
và destination
là đường dẫn đến thư mục mà nó sẽ được tạo so với thư mục triển khai. Vì vậy, các bài kiểm tra chạy nhất quán trong thư mục đích hoặc thư mục triển khai. Đường dẫn đích phải giống như đường dẫn nguồn không có tham chiếu tệp. Ví dụ : [DeploymentItem("Example_TestInputs\C1219TDL-2008.xml","Example_TestInputs")]
. Các DeploymentItem
nên được bao gồm trên tất cả các phương pháp sử dụng mà tập tin hoặc thư mục.
Trên một lớp source
và destination
cả hai tên của thư mục được tạo trong thư mục đích bởi xcopy
; điều này sẽ sao chép toàn bộ thư mục vào thư mục triển khai khi bất kỳ kiểm tra nào trong lớp được chạy. Thí dụ:[DeploymentItem("Example_TestInputs","Example_TestInputs")]
4) Trong các phương thức thử nghiệm, giờ đây bạn có thể truy cập các tệp và thư mục một cách tự tin rằng chúng sẽ nằm trong thư mục làm việc bất kể Visual Studio đã quyết định đặt nó vào ngày hôm đó, ví dụ như thế nào File.Exists(".\Example_TestInputs\C1219TDL-2008.xml")
.