Я провел тестирование программного обеспечения в случаях «Тест для прохождения» и «Тест до сбоя».Тесты на неудачу очень важны для разработки хорошего программного обеспечения, так как именно отсюда происходит большинство ошибок.Мне интересно, как я могу написать эти виды модульных тестов, используя платформу Jasmine?
Пример пройденного теста:
it('should set position to true', () => {
spyOn(service, 'SetPositionAsPositive');
service.SetPositionAsPositive();
expect(service.position).toEqual(true);
});
Не является подходящим тестом дляСлучай неудачи будет выглядеть примерно так:
it('should not set position to false', () => {
spyOn(service, 'SetPositionAsPositive');
service.SetPositionAsPositive();
expect(service.position).toEqual(false);
});
Однако, как и ожидалось, это не пройдёт мой тестовый пример вместо того, чтобы пройти правильно.Но я бы хотел, чтобы тестовый пример не сработал.Таким образом, проход был бы неудачным для такого рода тестовых случаев.
Лучшее, что я придумал, это ниже, но я думаю, что это все равно считается тестом для прохождения?
it('should not set position to false', () => {
spyOn(service, 'SetPositionAsPositive');
service.SetPositionAsPositive();
expect(service.position).not.toEqual(false);
});