Supponiamo di testare le intersezioni dei segmenti di linea e le intersezioni considerano le linee parallele e collineari per non intersecare mai. Quale sarebbe più naturale scrivere?
Un caso si è inceppato e il titolo dello scenario sembra ampio, ma impedisce di dover scrivere una certa variabile più volte, ma a spese del nome del test dello scenario non essendo più generico. È così male?
Casi molto simili in uno scenario (questo è un framework per test unità C ++ , quindi è un po 'diverso da dire JUnit):
SCENARIO("A vertical line segment does not intersect another vertical line segment") {
LineSegment segment = ...
GIVEN("Two vertical line segments that are parallel") {
LineSegment parallelSegment = ...
// ... when, then
}
GIVEN("Two vertical line segments that are collinear") {
LineSegment collinearSegment = ...
// ... when, then
}
}
o un singolo scenario per ogni caso, anche se significa lo stesso:
SCENARIO("Parallel vertical line segments are classified do not intersect") {
GIVEN("Two parallel vertical line segments") {
LineSegment segment = ...
LineSegment parallelSegment = ...
// ... when, then
}
}
SCENARIO("Collinear vertical line segments are classified do not intersect") {
GIVEN("Two collinear vertical line segments") {
LineSegment segment = ...
LineSegment collinearSegment = ...
// ... when, then
}
}
È meglio essere il più contenuti possibile con gli scenari in modo che sia facile leggere dal nome dello scenario (se il test fallisce) che cosa è andato storto? O va bene fare più test per uno scenario se strettamente correlati? O forse detto meglio, ogni scenario dovrebbe esattamente una cosa e solo quell'unica cosa?