Будучи с обеих сторон, QA и разработка, я утверждал бы, что кто-то должен всегда вручную тестировать Ваш код. Даже при использовании TDD существует много вещей, которые Вы как разработчик не можете быть в состоянии покрыть модульными тестами или не можете думать о тестировании. Это особенно включает удобство использования и эстетику. Эстетика включает надлежащее написание, грамматику и форматирование вывода.
Реальный пример 1:
разработчик А создавал отчет, который мы отображаем на нашей интранет для менеджеров. Было много формул, все из которых разработчик протестировал, прежде чем код прибыл в QA. Мы проверили, что формулы, действительно, производили корректный вывод. Что мы попросили, чтобы разработка для исправления, почти сразу, была тем, что числа были отображены в розовом на фиолетовом фоне.
Реальный пример 2:
я пишу код в свое свободное время, с помощью TDD. Мне нравится думать, что я тестирую его полностью. Однажды моя жена, обойденная тем, когда у меня было диалоговое окно сообщения, считай его, и быстро спросил, "Что же, спрашивается, то сообщение, как предполагается, означает?" Я думал, что сообщение было довольно четким, но когда я перечитал его, я понял, что оно говорило о родительских и дочерних узлах в древовидном управлении и вероятно не будет иметь смысла среднему пользователю. Я перефразировал сообщение. В этом случае это была проблема удобства использования, которая не была поймана моим собственным тестированием.
Вот один способ:
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.input.*;
var r = Rectangle {
x: 50, y: 50
width: 120, height: 120
fill: Color.RED
onMouseClicked: function(e:MouseEvent):Void {
if (e.button == MouseButton.SECONDARY) {
println("Right button clicked");
}
}
}
Stage {
title : "ClickTest"
scene: Scene {
width: 200
height: 200
content: [ r ]
}
}