Igor Konovalov
JS developer with a passion. Currently working as a senior software engineer at Epam
Игорь Коновалов @epam Feb 2019
или
Разработчики, тестирующие код в продакшене, в аду попадают в отдельный котёл
Идея
Планирование
Реализация
Тест
npm i eslint -Dnpm i eslint eslint-plugin-prettier eslint-config-prettier prettier -D
const calculatorF = () => ({
add(x, y) { return x + y },
})
const myCalculator = calculatorF()
if (myCalculator.add(1, 3) === 4) {
console.info('test passed')
} else {
throw new Error('test failed')
}pick any - it doesn't matter
Test Driven Development
Tests Last Development
behavior driven development
Unit - тестируем вход и выход
Integration - корректная работа нескольких юнитов
Симулируют действия пользователей, как правило используя браузер, максимально приближены к реальности и оттого дороги в реализации и Очень медленны
describe("Knowledge Base Application", () => {
beforeEach(() => {
cy.fixture("users/admin").as("admin");
});
it("Should be able to login: admin", function() {
cy.visit("/login");
cy
.get('input[name="email"]')
.type(this.admin.email)
.should("have.value", this.admin.email);
cy
.get('input[name="password"]')
.type(this.admin.password)
.should("have.value", this.admin.password);
cy.get("form").submit();
cy.location("pathname").should("eq", "/home");
});
});Cypress
High
Low
No coverage
100% coverage
Risk
Cost
By Igor Konovalov
Тестирование приложений. Как, зачем, что дальше. Разные виды тестов, чему уделять внимание и когда стоит остановиться.
JS developer with a passion. Currently working as a senior software engineer at Epam