2012-04-05 28 views
5

Khung Fakes mới trong VS11 cho phép bạn tạo các cài đặt giả (giả hoặc sơ khai) của các tham chiếu lắp ráp trong một dự án Thử nghiệm Đơn vị. Khi lắp ráp giả mạo, VS11 tạo hai tệp cho mỗi giả:Các tệp FakesAssemblies có nên được thêm vào kiểm soát nguồn không?

/FakesAssemblies/[Project].Fakes.dll 
/FakesAssemblies/[Project].Fakes.xml 

Các tệp này có được thêm vào kiểm soát nguồn không? Giả định của tôi là không, bởi vì chúng được tự động tạo ra, nhưng tự hỏi nếu có ai có ý kiến ​​khác.

Trả lời

5

Được tạo tự động không nên là yếu tố phân biệt đối xử cho sự hiện diện trong kho lưu trữ. Sau khi tất cả, tất cả các loại tập tin tự động tạo ra theo cách của họ có khá thường xuyên - ví dụ như các tập tin thiết kế.

Vấn đề là, tạo thêm lắp ráp hàng giả tất cả thời gian có thể tốn thời gian. Bài đăng của Microsoft guidelines về cách bạn có thể cố gắng tối ưu hóa điều đó:

Việc biên soạn các cụm Phiếu thưởng có thể tăng đáng kể thời gian xây dựng của bạn. Bạn có thể giảm thiểu thời gian xây dựng bằng cách tạo ra các hội đồng Fakes cho các hội đồng Hệ thống .NET và các hội đồng của bên thứ ba trong một dự án tập trung riêng biệt. Bởi vì các hội đồng này hiếm khi thay đổi trên máy của bạn, bạn có thể tái sử dụng các hội đồng giả tạo được tạo ra trong các dự án khác.

Vì vậy, hiếm khi thay đổi, .NET FCL/bên thứ 3 dựa trên cụm giả mạo phải là một phần của kho lưu trữ để tăng tốc quá trình xây dựng. Những cái dựa trên mã của riêng bạn, có lẽ được tạo ra tốt nhất khi đang bay.

1

Theo http://hamidshahid.blogspot.com.au/2012/11/microsoft-fakes-framework.html

Các "FakesAssemblies" thư mục và tất cả các file trong nó được tạo ra bất cứ khi nào dự án được biên soạn. Điều này quan trọng bởi vì nếu bạn là thêm số tiền giả mạo để lắp ráp cho một thành phần thay đổi, thế hệ FakesAssemblies sẽ đảm bảo rằng tất cả các thay đổi được phản ánh trong hội đồng được tạo ra .

Cũng in GitHub it is recommended để loại trừ chúng trong .gitignore

# Microsoft Fakes 
FakesAssemblies 

Nếu bạn lo lắng về thời điểm phát sinh trong quá trình xây dựng, bạn có thể xác định những gì bạn cần và disable stubs

mscorlib.fakes: 
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="mscorlib" Version="4.0.0.0" /> 
    <StubGeneration Disable="true"/> 
    <ShimGeneration> 
    <Clear /> 
    <Add FullName="System.Environment"/> 
    <Add FullName="System.TimeZoneInfo"/> 
    <Add FullName="System.DateTime"/> 
    </ShimGeneration> 
</Fakes> 
System.fakes: 
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="System" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
    <ShimGeneration Disable="true" /> 
</Fakes> 
Các vấn đề liên quan