2014-09-04 24 views
5

Chúng tôi đang chạy TeamCity 8.1.4 buildserver với VS2013 được cài đặt trên máy.Xây dựng và thử nghiệm với TeamCity và Fakes Framework

Gần đây tôi đã giới thiệu các thử nghiệm dựa trên Khuôn khổ của Microsoft. Bởi vì điều này tôi đã phải thêm một số tài liệu tham khảo cho các hội đồng giả mới và lắp ráp Microsoft.VisualStudio.TestTools.UnitTesting. Tất cả điều này chạy tốt trên máy phát triển địa phương của tôi.

Bây giờ, khi tôi cố gắng để xây dựng các giải pháp trên máy chủ TeamCity, các lỗi sau đây được ném:

SomeDirectory \ xử lý \ ProcessorTests.cs (3, 27): lỗi CS0234: Loại hoặc tên namespace 'Fakes' không tồn tại trong không gian tên 'SomeDirectory.Database' (là bạn thiếu một tài liệu tham khảo lắp ráp?)

SomeDirectory \ xử lý \ ProcessorTests.cs (7, 66): CS0234 lỗi: các loại hoặc tên không gian tên 'Fakes' không tồn tại trong không gian tên 'SomeDirectory.Service.P rocessor.Report.Processors' (là bạn thiếu tham khảo một hội?)

SomeDirectory \ xử lý \ ProcessorTests.cs (9, 17): lỗi CS0234: Các loại hoặc namespace tên 'QualityTools' không tồn tại trong không gian tên 'Microsoft' (bạn có thiếu tham chiếu lắp ráp không?)

Tôi phần nào hiểu được hai lỗi đầu tiên, vì tôi chưa cam kết các hội đồng giả trong SVN. Tôi cũng không muốn cam kết các tệp này, vì máy chủ xây dựng sẽ tự tạo các tệp này. BuildAction của các tệp giả được đặt thành Fakes.

Đoán của tôi là hai lỗi đầu tiên có nguồn gốc của họ gặp nhau ở lỗi thứ ba. Theo hiểu biết của tôi, không gian tên QualityTools nằm trong hội đồng Microsoft.VisualStudio.TestTools.UnitTesting.

Tôi đã cố sửa lỗi này bằng một vài cài đặt. Việc xây dựng bước ban đầu tôi đã cấu hình là:

loại Runner = Visual Studio (sln)

Visual Studio = Microsoft Visual

Studio 2013

Tôi đã thay đổi này đến:

Loại Runner = MSBuild

phiên bản MSBuild = Microsoft Build Công cụ 2013

MSBuild ToolsVersion = 12,0

Tôi cũng đã thử các phiên bản MSBuild .NET 4.5 với ToolsVersion 4.0.

Tất cả các cài đặt này đều dẫn đến các lỗi giống nhau.

Như bạn có thể hiểu, giải pháp sẽ không biên dịch tại thời điểm này, vì vậy tôi không thể chắc chắn liệu các thử nghiệm có chạy hay không. Tôi đã tìm thấy a post về cách cấu hình bước kiểm tra với TeamCity, nhưng đó là bước tiếp theo.

Bất kỳ ai có ý tưởng về cách khắc phục những vấn đề này với TeamCity và VS2013?

Sửa

Tôi đã kiểm tra nếu lắp ráp TestTools.UnitTesting tồn tại trên hệ thống tập tin. lắp ráp này là hiện nay, vì vậy đây không phải là một vấn đề

Chỉnh sửa 2

Rất tiếc, tôi đã không nhận định được thông báo lỗi thứ ba. Tôi nên đã tìm kiếm các lắp ráp Microsoft.QualityTools.Testing.Fakes, bởi vì nó nói nó không thể giải quyết không gian tên QualityTools. Sau khi kiểm tra đường dẫn Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies Tôi có thể xác nhận dll không có trên hệ thống tập tin.

Tôi đã sao chép nó theo cách thủ công vào máy chủ và xem điều gì sẽ xảy ra tiếp theo.

Sửa 3

Sau khi sao chép lắp ráp Microsoft.QualityTools.Testing.Fakes đến máy chủ xây dựng, giải pháp biên dịch như một nét duyên dáng. Tuy nhiên, bây giờ tôi nhận được số

không thể giải quyết đường dẫn hồ sơ từ COR_PROFILER_PATH và biến môi trường COR_PROFILER.

Tôi đã thấy điều này trước trên máy chủ TFS2012. Điều này có nghĩa là nó đã không thể xử lý shims và chúng tôi đã phải nâng cấp lên TFS2013.

Tôi vừa đăng nhập vào máy chủ và thấy phiên bản VS2013 đã hết hạn. Đó có lẽ là lý do nó không hoạt động đúng. Cài đặt VS2012 được cài đặt là phiên bản 11.0.50727.1, vì vậy bản cập nhật 3 chưa được cài đặt. Tôi sẽ thảo luận với các đồng nghiệp của tôi nếu điều này có thể được cập nhật. Hy vọng rằng điều này sẽ giải quyết được các vấn đề mà tôi đang gặp phải với hàng giả và shims.

Đã giải quyết Dường như có người nghĩ rằng thật thú vị khi cài đặt chuyên gia VS2013 trên máy chủ. Do đó, hàng giả không thể chạy, vì nó là một tính năng cao cấp. Cài đặt phiên bản Premium và mọi thứ hoạt động như một sự quyến rũ ngay bây giờ.

Trả lời

2

Fakes wont chạy với MSTest bạn phải bạn VSTest.Console

thường (đối với VS2012 trong trường hợp này) nó nằm C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

Ngoài ra còn có Á hậu sẵn trên http://confluence.jetbrains.com/display/TW/VSTest.Console+Runner, nhưng nếu công việc doesnt này, chạy tệp thực thi "bằng tay", đây là tham chiếu để chạy vstest.console.exehttp://msdn.microsoft.com/en-us/library/jj155796.aspx.

Nếu bạn có VS2013 được cài đặt trên máy đại lý (phiên bản Pro chứa hàng giả, express không) nó nên biên dịch tốt. Bạn đã thử thanh toán sạch trên máy tính của bạn chưa?

+0

Cảm ơn bạn đã trả lời. Tôi đã tìm thấy điều này cũng như đã đề cập trong bài đăng gốc.Hướng dẫn tôi làm theo cho bước thử nghiệm là: http://blog.degree.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/ Tuy nhiên, tôi hiện đang gặp sự cố với việc biên dịch, vì vậy tôi chưa thực hiện bước thử nghiệm. –

+0

Bạn đã thử làm sạch thanh toán và xây dựng lại trên máy dev của bạn, có thể một số tệp không được kiểm tra? –

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