Запитання з тегом «unit-testing»

Тестування одиниць - метод, за допомогою якого окремі одиниці вихідного коду тестуються, щоб визначити, чи вони придатні для використання.

2
Окремі звіти про покриття коду для одиничних та інтеграційних тестів, або один звіт для обох?
Чи повинен бути окремий звіт про покриття коду для одиничних та інтеграційних тестів або один звіт про покриття коду для обох? Мислення за цим полягає в тому, що висвітлення коду дозволяє нам переконатися, що наш код був максимально охоплений тестами (наскільки це можливо машина зараз). Наявність окремого звіту нам зручніше …

1
Чи використовує ігрова індустрія автоматизоване тестування для візуальних частин ігор / візуалізації? Як?
Деякі частини гри легко перевірити автоматизовано (логіка, математика, обробка введеннями); але є також багато, що суто візуально і не легко перевірити. Я був би здивований, якби ігрова індустрія залишила все це для ручного тестування; Є в ньому достатньо грошей, на що я б здогадався, що було докладено зусиль, щоб можна …

2
Код тестування побічних ефектів - важкий код
Я починаю писати код C ++, щоб запустити робота, і не знаю, як включити тестування одиниць, якщо дійсно можу. Мені була надана бібліотека, яка дозволяє створювати "команди" для роботи, які автоматично плануються та виконуються. Механізм створення цих команд є підклас команди базового класу вони надають, і здійснювати віртуальну void Initialize(), …

1
Скільки насмішок - це «правильно»?
Я назвав це питання жартома, бо впевнений, що "це залежить", але у мене є конкретні питання. Працюючи над програмним забезпеченням, яке має багато глибоких шарів залежності, моя команда звикла використовувати насмішки досить широко, щоб відокремити кожен модуль коду від залежностей під ним. Тому я був здивований, що Рой Ошерово запропонував …

3
Що допомогло б переробляти великий метод, щоб я нічого не порушив?
Наразі я переробляю частину великої бази кодів, не маючи тестування. Я спробував перефактурувати код грубим способом, тобто намагаючись відгадати, що робить код і які зміни не змінять його значення, але без успіху: він випадковим чином розбиває функції по всій базі коду. Зауважте, що рефакторинг включає переміщення застарілого коду C # …

4
Чому в модульному тестуванні я б створив сховище двічі?
Днями я читав трохи про Unit Testing і побачив кілька прикладів, коли люди створюють інтерфейс сховища (тобто IExampleRepository), а потім створюють реальне сховище ( public class ExampleRepository : IExampleRepository) і сховище, яке буде використовуватися для тестування одиниць ( FakeExampleRepository : IExampleRepository). У IExampleRepositoryних вони реалізовували ті ж методи, що й …

6
Тестування клієнта REST на сервері REST. Як робити світильники?
При написанні одиничних тестів звичайно використовувати світильники: мало перевіряються даних, тому ми можемо сказати: 1. Отримати всіх клієнтів слід, зокрема, Віллі Вонка. 2. Видаліть клієнт 3, і тепер клієнти більше не повинні включати Віллі Вонка. Це добре для одиничних тестів. Використовуйте налаштування / перерву, щоб повторно завантажити світильники або відкотити …
10 unit-testing  api  rest 

2
Як би вводилися помилки під час створення макетів динамічною мовою?
Проблема виникає під час виконання TDD. Після пари тестування типи повернення деяких класів / модулів змінюються. Якщо статично типізована мова програмування, якщо попередній макетний об'єкт використовувався в тестах якогось іншого класу і не був модифікований для відображення зміни типу, тоді будуть виникати помилки компіляції. Однак для динамічних мов зміни типів …

5
Чи дотримується одне твердження за тест нерозумної послідовності в цьому випадку?
У мене є клас, який я тестую. Клас має функцію:apply(List<IRule> rules, List<ITarget> targets); В одному тесті я хочу переконатися, що кожна ціль була передана одному правилу, a la: rule1.AssertWasCalled(fnord => fnord.Test(target1)); rule1.AssertWasCalled(fnord => fnord.Test(target2)); rule1.AssertWasCalled(fnord => fnord.Test(target3)); Мені здається, що обмеження себе в одній заяві твердження було б цілком гобгобліном …

5
Як поділити тест на функцію, яка відновлена ​​до стратегії?
Якщо у мене в коді функція така: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Зазвичай я б перетворював це на використання Ploymorphism, використовуючи заводський клас та шаблон стратегії: public string calculateTax(string name) { InameHandler …

3
У чому полягає актуальність модульного тестування в середовищі "Часто вивільняйте"?
Протягом останнього року або близько того я привів свою команду до режиму розвитку, який часто випускається на ранньому рівні (AKA: Швидкий розвиток додатків, а не Agile). Для отримання додаткової інформації про спосіб закриття збірки див. Мою відповідь тут: Прості способи покращити якість випуску в середовищі RAD Коли ми прийняли RAD, …
10 unit-testing  rad 

9
Чи повинен я передати об'єкт конструктору чи інстанцію в класі?
Розглянемо ці два приклади: Передача об'єкта конструктору class ExampleA { private $config; public function __construct($config) { $this->config = $config; } } $config = new Config; $exampleA = new ExampleA($config); Миттєвий пошук класу class ExampleB { private $config; public function __construct() { $this->config = new Config; } } $exampleA = new …

3
Чи потрібні нам дані випробувань чи ми можемо покластися на одиничні тести та ручне тестування?
Зараз ми працюємо над середнім / великим проектом PHP / MySQL. Ми проводимо тестування одиниць за допомогою PHPUnit & QUnit, і у нас є два штатні тестери, які тестують додаток вручну. Наші тестові (макетні) дані наразі створюються за допомогою SQL-скриптів. У нас є проблеми зі збереженням скриптів для тестових даних. …

3
Методи тестування блоку, які викликають постачальників веб-сервісів
У мене є клас з одним публічним методом Send()та кількома приватними методами. Він викликає пару веб-служб і обробляє відповідь. Обробка проводиться приватними методами. Я хочу перевірити код. Я розумію, що одиничні тести повинні перевіряти мій код ізольовано (тобто знущатися з відповідей постачальника). Я також вважаю, що приватні методи не повинні …

3
Отримайте кульку кочення на TDD
Я є частиною команди розробників, яка співпрацює з багатьма іншими командами, щоб підтримувати та вдосконалювати додаток, яке використовується не менше 15 років. Коли він був вперше побудований та спроектований, TDD було нечувано. Додаток досить стабільний, і ми рідко стикаємось із помилкою, що зупиняє показ, але в середньому ми робимо приблизно …
10 unit-testing  tdd 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.