2012-02-20 29 views
7

Tôi muốn loại trừ một số thử nghiệm từ bản dựng tích hợp liên tục của mình nhưng tôi chưa tìm được cách để làm như vậy.Không bao gồm các thử nghiệm từ tfs build

Một trong những điều tôi đã thử là thiết lập mức độ ưu tiên của các thử nghiệm đó thành -2 và sau đó trên bản dựng tôi đã chỉ định Mức độ ưu tiên kiểm tra tối thiểu = -1 nhưng vẫn chạy các thử nghiệm đó.

Mọi trợ giúp sẽ được đánh giá cao.

+0

Trình kiểm tra của bạn là gì? MSTest, NUnit, cái gì khác (?) – pantelif

Trả lời

9

Thay vì sử dụng "Danh sách kiểm tra" đã được mô tả, bạn nên sử dụng phương pháp "Danh mục thử nghiệm". Danh sách kiểm tra & Chức năng VSMDI đã thực sự không được chấp nhận trong Visual Studio 2010 và Microsoft có thể loại bỏ hoàn toàn tính năng này trong một phiên bản tương lai của Visual Studio.

Nếu bạn muốn một số chi tiết thông tin về cách sử dụng danh mục kiểm tra đặc biệt với quá trình xây dựng tự động của bạn, hãy kiểm tra bài đăng blog: http://www.edsquared.com/2009/09/25/Test+Categories+And+Running+A+Subset+Of+Tests+In+Team+Foundation+Server+2010.aspx

Bạn cũng có thể loại bỏ các loại thử nghiệm chạy bằng cách xác định ! (chấm than điểm) ký tự ở phía trước tên danh mục để xác định thêm bộ lọc của bạn.

+0

Trên bản dựng CI của tôi, tôi đang chạy với "! Tích hợp &! Tải" – felickz

3

Nếu bạn đang sử dụng MSTest, bạn có thể tạo Test List cho các bài kiểm tra mà bạn cần trong tích hợp liên tục.

+0

Tôi không biết về tính năng này. Nó mở ra một thế giới mới về khả năng. Cảm ơn! – Yag

+0

cho cấu hình samle xây dựng về cách thực hiện việc này với nhóm TFS 2008, hãy xem bài đăng của tôi bên dưới. Đối với TFS 2010, định nghĩa xây dựng dựa trên luồng công việc nhưng nguyên tắc là giống nhau ở đó. – eFloh

+2

FYI - cách tiếp cận "Danh sách kiểm tra" (sử dụng tệp .VSMDI) đã không còn được dùng nữa và không được đề xuất sử dụng nữa. Thay vào đó, bạn nên sử dụng tính năng Test Categories cho MSTest. Microsoft hoàn toàn có thể loại bỏ chức năng danh sách kiểm tra trong một phiên bản tương lai của Visual Studio. Tôi có thêm một số thông tin có tại đây nếu bạn quan tâm: http://www.edsquared.com/2009/09/25/Test+Categories+And+Running+A+Subset+Of+Tests+In+Team+Foundation+ Máy chủ + 2010.aspx –

0

Tùy chọn của tôi sẽ như trên sử dụng Danh sách kiểm tra, nhưng một số người đã phát hành hợp nhất/chỉnh sửa tệp vsmdi ... Chúng tôi kết thúc với các giải pháp riêng biệt và sử dụng đối sánh mẫu để thực thi tất cả các thử nghiệm trong DLL thích hợp.

2

Với MSTest, bạn chỉ có thể tạo hai dự án thử nghiệm (hội đồng) và chỉ xác định một dự án trong cấu hình xây dựng để sử dụng để thử nghiệm. Trong MSBuild, đây là con đường để đi. Đối với các định nghĩa xây dựng WF-Based mới, tôi hiện không có một mẫu trong tầm tay:

<ItemGroup> 
    <!-- TEST ARGUMENTS 
    If the RunTest property is set to true then the following test arguments will be used to run 
    tests. Tests can be run by specifying one or more test lists and/or one or more test containers. 

    To run tests using test lists, add MetaDataFile items and associated TestLists here. Paths can 
    be server paths or local paths, but server paths relative to the location of this file are highly 
    recommended: 

     <MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi"> 
      <TestList>BVT1;BVT2</TestList> 
     </MetaDataFile> 

    To run tests using test containers, add TestContainer items here: 

     <TestContainer Include="$(OutDir)\AutomatedBuildTests.dll" /> 
     <TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" /> 
     <TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" /> 

    Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built 
    --> 
</ItemGroup> 

<PropertyGroup> 
    <RunConfigFile>$(SolutionRoot)\LocalTestRun.testrunconfig</RunConfigFile> 
</PropertyGroup> 

Mẹo: Để sử dụng xây dựng định nghĩa chung chung, chúng tôi đặt tên cho tất cả các dự án thử nghiệm của chúng tôi "AutomatedBuildTests", tức là không có sự khác biệt về giải pháp. Vì vậy, định nghĩa xây dựng có thể được bao gồm trong bất kỳ định nghĩa xây dựng hiện có nào (hoặc thậm chí là một định nghĩa phổ biến) luôn thực thi tập hợp các kiểm tra phù hợp. Nó sẽ là một nhiệm vụ dễ dàng để thêm vào một kiểm tra "nếu tồn tại" để cho phép một định nghĩa xây dựng để chỉ chạy thử nghiệm khi một hội đồng kiểm tra có mặt. Chúng tôi không sử dụng điều này để có được lỗi xây dựng khi không có lắp ráp thử nghiệm được tìm thấy như chúng tôi hoàn toàn muốn thử nghiệm với tất cả những người xây dựng sử dụng định nghĩa này.

0

Trong Visual Studio 2012 trở lên, bạn có thể định cấu hình định nghĩa bản dựng của mình bằng cách sử dụng cài đặt Test case filter.

Cài đặt này là một phần của định nghĩa bản dựng của bạn. Mở định nghĩa bản dựng và điều hướng đến tab Process. Trong phần 3. Test bạn có thể xác định nguồn thử nghiệm của mutiple. Đối với mỗi nguồn thử nghiệm, bạn có thể chỉ định một Test case filter.

Bạn có thể tìm thấy các chi tiết trong bài viết này MSDN: Running selective unit tests in VS 2012 RC using TestCaseFilter

tôi đã sao chép các nhà khai thác hỗ trợ và một số ví dụ từ bài viết này:

nhà khai thác hỗ trợ trong RC là:

1. = (bằng)

2.!= (Không bằng)

3. ~ (chứa hoặc chỉ substring cho các giá trị chuỗi)

4. & (và)

5. | (Hoặc)

6.() (ngoặc cho nhóm)

Expresssion thể được tạo ra bằng các nhà khai thác như bất kỳ điều kiện logic hợp lệ. & (và) có ưu tiên cao hơn | (hoặc) trong khi đánh giá biểu thức.

Ví dụ:
"TestCategory = NAR | Priority = 1" "! Chủ đầu tư = vikram & TestCategory = UI" "FullyQualifiedName ~ NameSpace.Class"
"(TestCategory = UI & (ưu tiên = 1 |! Priority = 2)) | (TestCategory = UI & Mức độ ưu tiên = 1) "

Một khả năng khác sẽ có một số nguồn thử trong một định nghĩa xây dựng trong một số định nghĩa xây dựng khác.

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