Один тестовый случай = одно условие для проверки, некоторые люди переводят условие в утверждение, это неправильно, условие может состоять из одного или нескольких утверждений
Пример. Представьте, что вы разрабатываете шахматную игру, и вы только что реализовали функциональность движений и хотите протестировать ее, проверьте следующий тестовый пример.
public void testPawnCanMoveTwoSquaresAheadFromInitialRow (){
[...]
//Test moving first a white pawn
assertPawnCanMoveTwoSquaersAheadFromInitialRow ("a2", "a4");
//Test moving fater a black pawn
assertPawnCanMoveTwoSquaersAheadFromInitialRow ("h7", "h5");
}
private void assertPawnCanMoveTwoSquaersAheadFromInitialRow (String from, String to){
[...]
Piece movingPiece = board.getSquareContent(from);
assertTrue (movingPiece.isPawn ());
assertTrue (board.move (from, to));
assertTrue (board.getSquareContent(from).isEmpty());
assertTrue (board.getSquareContent(to).isPawn());
[...]
}
Как вы можете видеть, этот пример очень ясен: если он потерпит неудачу, вы будете точно знать, где происходит сбой вашего приложения, очень легко добавлять новые тестовые случаи, и, как вы можете видеть, тесты только одно условие, но использует много утверждений.
Вы можете проверить эту недавнюю статью, которую я написал в своем блоге: Как писать хорошие тесты