Лекция
Привет, Вы узнаете о том , что такое mock-объект, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое mock-объект, dummy- фунция заглушка использование в тестировании , настоятельно рекомендую прочитать все из категории Качество и тестирование программного обеспечения. Quality Assurance..
mock-объект (от англ. mock object, буквально: «объект-пародия», «объект-имитация», а также «подставка») — в объектно-ориентированном программировании — тип объектов, реализующих заданные аспекты моделируемого программного окружения. например эммуляцию интернет соединения или работу с базами данных
Mock-объект представляет собой конкретную фиктивную реализацию интерфейса, предназначенную исключительно для тестирования взаимодействия и относительно которого высказывается утверждение.
В процедурном программировании аналогичная конструкция называется «dummy» (англ. — заглушка). Функция, выдающая константу, или случайную величину из допустимого диапазона значений.
Mock-объекты активно используются в разработке через тестирование.
Во время использования мокобъяктов часто испоьзуется метод иньекции зависимости (Dependency injection)
PHP Laravel пример
<?php
class QuestionsControllerTest extends TestCase {
protected $questionMock;
public function setUp()
{
//$this->questionMock = Mockery::mock('Question');
$this->questionMock = Mockery::mock(Question::class);
$this->app->instance(Question::class, $this->questionMock);
}
public function testQuestionIndex()
{
$this->questionMock
->shouldReceive('latest')
->once();
$this->app->instance('Question', $this->questionMock);
$this->call('GET', 'questions');
}
<?php namespace App\Http\Controllers;
use App\Http\Requests\QuestionRequest;
use App\Http\Controllers\Controller;
use App\Question;
use Auth;
use Request;
class QuestionsController extends Controller {
protected $question;
public function __construct(Question $question)
{
$this->question = $question;
}
public function index()
{
$questions = $this->question->latest()->get();
return view('questions.index', compact('questions'));
}
...
запуск
$ ./vendor/bin/phpunit tests/controllers/QuestionsControllerTest.php PHPUnit 4.5.0 by Sebastian Bergmann and contributors.
Time: 135 ms, Memory: 12.50Mb
Функция-заглушка (в программировании) — функция, не выполняющая никакого осмысленного действия, возвращающая пустой результат или входные данные в неизменном виде. Об этом говорит сайт https://intellect.icu . То же самое, что заглушка метода.
Используется:
Пример функции-заглушки на языке C:
void stub() |
Выводы из данной статьи про mock-объект указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое mock-объект, dummy- фунция заглушка использование в тестировании и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Качество и тестирование программного обеспечения. Quality Assurance.
Из статьи мы узнали кратко, но содержательно про mock-объект
Комментарии
Оставить комментарий
Качество и тестирование программного обеспечения. Quality Assurance.
Термины: Качество и тестирование программного обеспечения. Quality Assurance.