MSTest
không tham số ký tự đại diện cho người thử nghiệm (look here for a reference on the command line options). Tuy nhiên, nó có thể lấy nhiều đối số/đối tượng thử nghiệm, như sau:
mstest.exe /testcontainer:a.test.dll /testcontainer:b.tests.dll
Bạn sẽ phải cung cấp thông số này theo cách khác. Điều này có thể được thực hiện bằng một tập tin thực thi, nhưng MSBuild
có thể là một lựa chọn tốt hơn cho việc này:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="RunMSTest">
<ItemGroup>
<TestAssemblies Include="**\*Tests.dll"/>
</ItemGroup>
<Target Name="RunMSTest">
<Exec Condition=" '@(TestAssemblies)' != ''"
Command="Mstest.exe @(TestAssemblies ->'/testcontainer:"%(RecursiveDir)%(Filename)%(Extension)"', ' ')"
/>
</Target>
</Project>
(với nhờ https://stackoverflow.com/a/2770682/62662 cho transform)
Lưu i vào một tập tin (testall.proj
), và chạy nó với MSBuild testall.proj
, hoặc tạo một tập tin thực thi để chạy nó cho bạn. Cũng cần lưu ý rằng tải rất nhiều tất cả các bộ kiểm thử được cung cấp trong một miền ứng dụng, vì vậy chúng sẽ cần hỗ trợ cùng một mục tiêu nền tảng (bất kỳ cpu, x86, x64) nào.
Nguồn
2012-12-11 23:28:01
Tôi nghĩ rằng biến đổi có thể được thực hiện đơn giản bằng cách chỉ lấy Identity tài sản của mỗi hội đồng. Tôi cũng đã có một vấn đề với đường dẫn (kiểm tra dlls không trực tiếp dưới đây, nơi tập tin mục tiêu của tôi được lưu trữ), và điều này giải quyết vấn đề đó quá. –