Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Mock-объект и dummy-(фунция заглушка) использование в тестировании

Лекция



Привет, Вы узнаете о том , что такое 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()
{
return;
}

 

Выводы из данной статьи про mock-объект указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое mock-объект, dummy- фунция заглушка использование в тестировании и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Качество и тестирование программного обеспечения. Quality Assurance.

Из статьи мы узнали кратко, но содержательно про mock-объект
создано: 2016-05-01
обновлено: 2021-03-13
132482



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Качество и тестирование программного обеспечения. Quality Assurance.

Термины: Качество и тестирование программного обеспечения. Quality Assurance.