Я использовал qunit, чтобы написать серию тестов для кода javascript, который у меня есть. Прямо сейчас по какой-то причине первый тест в моем списке будет запущен, а затем пройдет тест LAST в списке, за которым последуют 2-й, 3-й, последний, 4-й и последний, и т.д. ... Для моих тестов очень важно, все работает в том порядке, в котором они у меня. Я попытался отключить эту опцию, когда qunit запускает тесты, которые не выполнялись в прошлый раз, но он все еще делает это. Есть ли способ исправить это?Получение QUnit для запуска тестов в порядке
ответ
Сначала выясните, почему ваши тесты ДОЛЖНЫ запускаться в определенном порядке. Вся цель модульного тестирования заключается в том, что тесты являются атомарными, и их можно запускать в любом порядке - если ваш набор тестов не способен на это, вам нужно выяснить, почему, поскольку это может представлять большую проблему.
Если вы не можете понять это, вам может потребоваться разорвать ваш тестовый пакет на более мелкие группы тестов, пока вы не найдете тот, который вызывает проблему.
Редактировать: Эта ссылка была найдена http://www.educatedguesswork.org/2011/06/curse_you_qunit_1.html. По-видимому, добавление этого в ваш тестовый пакет поможет QUnit.config.reorder = false;
Возможно, вы могли бы рассмотреть возможность размещения кода, который выполняет каждое крупное вычисление, в функции, которая имеет тест в начале, который проверяет, выполнено ли вычисление. Если вычисление не выполняется, выполните вычисление и сохраните результат где-нибудь. Если вычисление уже выполнено, просто верните результаты. Таким образом, вы можете иметь единое вычисление для всех тестов, но все же быть автономным по порядку, в котором выполняются тесты.
Я могу относиться к проблемам трудоемких вычислений при единичном тестировании, но обязательно, чтобы тестовая группа могла провести любой модульный тест и выполнить независимый автономный тест. Это особенно актуально, когда возникает критическая проблема и ее необходимо решать конкретно.
- 1. Использование Chutzpah для запуска машинописных тестов qUnit
- 2. Лучший способ запуска тестов Qunit под флягой
- 3. QUnit цепь асинхронных тестов
- 4. Получение $ httpBackend в тестах QUnit
- 5. QUnit, утверждать не в порядке?
- 6. Global beforeEach/afterEach для тестов ember qunit
- 7. Отладка тестов - получение Testem/Qunit от закрытия окна браузера теста
- 8. Выполнить несколько тестов QUnit параллельно с глотком
- 9. Получение простых тестов JUnit для запуска в Android Studio
- 10. Какой шаг сборки следует использовать для запуска тестов QUnit в TeamCity?
- 11. Запуск функциональных тестов qUnit с phantomjs
- 12. Добавить append html в результаты вывода QUnit для конкретных тестов
- 13. Получение команды для запуска модульных тестов с использованием typemock
- 14. Как настроить RSpec для запуска тестов модели?
- 15. Нет, выполненные с хрюкать-QUnit-тестов JUnit
- 16. Выполнение асинхронных тестов QUnit от Ant в PhantomJS
- 17. Сценарий Bash для запуска тестов
- 18. MSBuild для запуска модульных тестов
- 19. Функция для запуска внутренних тестов
- 20. Подход для запуска сетевых тестов
- 21. Запуск тестов PHPUnit в определенном порядке
- 22. Запуск тестов в определенном порядке
- 23. модульных тестов EmberJS обслуживания для инъекций (Human QUnit)
- 24. Выбор конкретных тестов для запуска в градиенте
- 25. Как настроить порядок запуска тестов-тестов?
- 26. Что нужно сделать для запуска тестов в том порядке, в котором они определены?
- 27. Есть ли атрибут MBUnit для запуска тестов Row в том порядке, в котором они были определены?
- 28. Статические выбранные переменные теряются во время выполнения тестов QUnit
- 29. Выполнение тестов QUnit с внешнего веб-сервера с помощью Karma
- 30. Получение эмулятора для запуска
Нет, я знаю почему. Повысить эффективность. (Я не хочу вдаваться в подробности, но на данный момент каждый тест занимает очень много времени, и мне нужно сделать все как можно более упорядоченным). Некоторые тесты полагаются на результаты предыдущего теста. Я могу сделать все атомарным, но тогда все занимает еще больше времени, чем это уже происходит. Как только я попаду туда, где время не имеет значения, я могу вернуться к атомной модели, но пока я хочу, чтобы мои тесты выполнялись в том порядке, в котором я написал их для повышения эффективности. – user1028497
@ user1028497 «Некоторые тесты полагаются на результаты предыдущего теста», тогда у вас нет атомарности - вы должны подготовить то, что необходимо для теста в самом тесте. – unludo
Я делал это так. Но в это время мне нужна эффективность, и это был лучший способ сделать что-то. Я не хочу все объяснять, но достаточно сказать, что в это время мне нужны тесты для запуска в том порядке, в котором они у меня. – user1028497