Получение следующей ошибки при попытке использования CallTo()
и .Returns()
в методах интерфейсов.
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка CS1929 «IReturnValueArgumentValidationConfiguration» не содержит определения для «возвратов» и наилучшей перегрузки метода расширения «ReturnValueConfigurationExtensions.Returns (IReturnValueConfiguration>, string)» требует приемник типа «IReturnValueConfiguration>> CareControls.Ivis \ IIS.ISVISS \ IIS.ISVISS \ IIS.ISVIS \ CareControls.Ivis.Tests \ Framework \ AbIo \ TimerHandlerTests.cs 105 Active
Вот тест: я добавил комментарии, чтобы показать, какого типа был каждый тип и где происходили ошибки компилятора.
[Fact]
public void Reads_AbPlc_at_each_inputs_label()
{
var abPlc = A.Fake<AbPlc>(); // interface
var input1 = A.Fake<ToggleUi>(); // interface
var input2 = A.Fake<ToggleUi>(); // interface
var w2 = A.Fake<MethodWeb>(); // class
var f = this.fixture;
input1.Label = f.Create<string>();
input2.Label = f.Create<string>();
A.CallTo(() => this.ui.Inputs)
.Returns(new LinkedListLot<ToggleUi>(
new[]
{
input1,
input2
}));
var a = f.Create<bool>();
A.CallTo(() => input1.GetHashCode())
.Returns(0xFF); // error
A
.CallTo(() => abPlc.Read(input1.Label))
.Returns(false); // error
A.CallTo(() => w2.RegisterDependency(null, null))
.Returns(false); // compiles fine
var w = this.web;
w.RegisterDependency(new UiReaderWriter());
w.RegisterDependency(abPlc);
this.handler.Handle(
this.ui);
A
.CallTo(() => abPlc.Read(input1.Label))
.MustHaveHappened();
A
.CallTo(() => abPlc.Read(input2.Label))
.MustHaveHappened();
}
Последний комментарий: эти методы интерфейса не являются методами расширения.
Редактировать 1: я считаю, что свойства интерфейсов работали нормально.
Редактировать 2: фактически включена ошибка и обновлен вызов GetHashCode (), чтобы фактически отразить сигнатуру GetHashCode ().