Есть много вопросов, которые уже заданы по этому вопросу, но я думаю, что мне нужно что-то более базовое, что может очистить эту концепцию, поскольку я новичок в TDD. Пока я не могу идти вперед.Что это такое.Адны и что это такое. В модульном тестировании
Не могли бы вы пройти следующий TestMethod и объяснить, если у меня есть неправильное понимание:
[Test]
public void ShouldSearch()
{
var ColumnList = new List<Column>();
В приведенной ниже линии означает, что я насмешливый объект.
Но что это такое It.IsAny<>()
означает здесь?
this.ColumnServiceMock.Setup(x => x.GetColumn(It.IsAny<Context>(), It.IsAny<Column>()))
.Returns(ColumnList);
var result = this.getColouminfo.GetFinalRecords(this.context, this.gridColumn);
this.ColumnServiceMock.Verify(x => x.GetColumn(It.Is<Context>(y => y == this.context),
It.Is<Column>(y => y.Id == 2)), Times.Once);
Assert.AreEqual(1, result.Data.Count, "Not equal");
Assert.IsTrue(result.Data.Success, "No success");
В контексте с ответом, когда мы создаем и мы говорим, что GetColumn будет вызываться с любым экземпляром Context и любым экземпляром столбца, в то же время делает ли этот оператор вызов метода GetColoum? – Sweetie
Вызов метода установки не вызывает метод, он просто гарантирует, что когда этот метод будет вызываться в какой-то момент в будущем, он вернет ожидаемое значение. Скажем, например, у вас есть репозиторий с методом GetData, который отправляется в базу данных и возвращает некоторые строки, и контроллер, который имеет зависимость от репозитория и форматирует данные. Если вы тестируете контроллер, вы не хотите подключаться к базе данных, чтобы создать макетный репозиторий и вызвать программу установки, чтобы убедиться, что ваш метод GetData возвращает некоторые данные примера для потребления контроллером. – ChrisO
Спасибо v.mch :) – Sweetie