У меня есть функция foo (), которая, в свою очередь, вызывает функцию bar ().Как я могу подтвердить, что в действительности вызывается bar?
Пример сложного метода бизнес-логики для тестирования:
class Car
{
IStarter starter
IKeyhole keyhole
IBrakePedal pedal
Drive()
{
keyhole.InsertKey()
keyhole.RotateToStart()
starter.TurnEngineOver()
...
if (pedal.Pressed)
this.SlowDown()
}
}
У меня есть метод, который объединяет 6 внешних зависимостей(взаимодействует с методами) и запускает их в последовательности, порядок не важен.Я хотел бы убедиться, что каждый был вызван.В другом тесте я хотел бы настроить условные выражения и убедиться, что подмножество было вызвано.
В C # с Moq у меня есть полная страница кода установки.
Вот что я хотел быхотелось бы видеть в моем модульном тесте:
let `check that brake pedal slows down car` =
let car = new Car()
car.pedal.Pressed <- true
car.Drive()
car.SlowDown |> wasCalled
Остальное должно быть выведено из использования.У меня есть реальная необходимость уменьшить шум в тестах.