У меня была следующая функция, которую нужно смоделировать.
public interface IRepository
{
Task<IEnumerable<Item>> GetItems(int total);
}
И мой код насмешки был
private readonly IEnumerable<Item> stubList = new List<Item> { new Item { } };
mockRepository = Mock.Of<IRepository>(r => r.GetItems(50) == Task.FromResult(stubList));
Он работал как на моем рабочем столе (Visual studio 2017), так и на msbuild (MSBuild auto-detection: using msbuild version '15.8.169.51996' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin'
) на сервере Jenkin.
Теперь метод был изменен на
public interface IRepository
{
Task<(IEnumerable<Item>, int)> GetItems(int total);
}
И код насмешки был изменен на
private readonly IEnumerable<Item> stubList = new List<Item> { new Item { } };
var m = (stubList, 1);
mockRepository = Mock.Of<IRepository>(r => r.GetItems(50) == Task.FromResult(m));
Он все еще работает на моемрабочий стол (visual studio 2017).Но msbuild завершился ошибкой со следующим сообщением об ошибке?
error CS0019: Operator '==' cannot be applied to operands of type
'Task<(IEnumerable<Item>, int)>' and 'Task<IEnumerable<Item>>'
build.log:
CoreResGen: "C: \ Program Files \ Microsoft SDKs \ Windows\ v6.0A \ bin \ Resgen.exe "/ useSourcePath /r:"D:\Jenkins\workspace...\packages\DocumentFormat.OpenXml.2.8.1\lib\net35\DocumentFormat.OpenXml.dll" / r:C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Microsoft.JScript.dll /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll / r: "C: \ Program Files(x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Core.dll "/ r:" C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Data.DataSetExtensions.dll "/r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /r: C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.dll /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll / r: "C: \Программные файлы (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.0 \ System.Runtime.Serialization.dll "/ r:" C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.0 \ System.ServiceModel.dll "/r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ System.Web.Services.dll /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\ System.Xml.dll / r: "C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ v3.5 \ System.Xml.Linq.dll" / r: "C: \ Program Files (x86)\ Reference Assemblies \ Microsoft \ Framework \ v3.0 \ WindowsBase.dll "/ compile Components \ CheckedComboBox \ PopupComboBox.resx, obj \ Release \ PresentationControls.PopupComboBox.resources Компоненты \ DGV \ DgvDesignerColumnList.resx, obj \ ReleaseSligner_Direct_Lirect_Direct_Lirect_LirectInstall.resources Components \ DGV \ frmGridColumnsExt.resx, obj \ Release \ Infrastructure.frmGridColumnsExt.resources Компоненты \ DGV \ dgv.resx, obj \ Release \ Infrastructure.DGV.resources Компоненты \ DGV \ frmChangeGridState.resx, инфраструктура \ ReleasefrmChangeGridState.resources Components \ DGV \ frmGridColumns.resx,Компоненты obj \ Release \ Infrastructure.frmGridColumns.resources \ UserControl_Folder.resx, obj \ Release \ Infrastructure.UserControl_Folder.resources frmDropDownBox.resx, obj \ Release \ Infrastructure.frmDropDownBox.resources frmUsersChangeHistjorshan.Exchange.Exchange.UserистfrmUserPermissions.resx, obj \ Release \ Infrastructure.frmUserPermissions.resources frmUserRegProdGroups.resx, obj \ Release \ Infrastructure.frmUserRegProdGroups.resources frmErrorBox.resx, obj \ Release \ Infrastructure.frmErrorBoxBridBrid.FxBresourceFresbx.resources.resources frmInputBox.resx, obj \ Release \ Infrastructure.frmInputBox.resources frmLongTask.resx, obj \ Release \ Infrastructure.frmLongTask.resources frmNoteBox.resx, obj \ Release \ Infrastructure.frmNoteBox.resources Components \ ReleaseP, месяцев\ Infrastructure.MonthPicker.resources frmUserGroups.resx, obj \ Release \ Infrastructure.frmUserGroups.resources frmUsers.resx, obj \ Release \ Infrastructure.frmUsers.resources Properties \ Resources.resx, obj \ Release \ Infrastructure.Properties.Resources.resources Отчеты \ frmEditReports.resx, obj \ Release \ Infrastructure.frmEditReports.resources Отчеты \ frmJobsMaintenance.resx, obj \ Release \ Infrastructure.frmJobsMaintenance.resources Reports.resx, obj \ Release \ Infrastructure.frmRunReports.resources Отчеты \ frmSelectReport.resx, obj \ Release \ Infrastructure.frmSelectReport.resources Отчеты \ frmShowReportLog.resx, obj \ Release \ Infrastructure.frmShowReportLog.resources