Если вы тестировали функцию подсчета, подобную приведенной ниже, считается ли она «правильной» или «неправильной» для проверки нескольких вещей для функции в одной функции и наличия тестовой функции для каждого из тестов?Активировать несколько условий в одном тесте или разбить на несколько тестов?
function testGetKeywordCount() {
$tester = $this -> getDatabaseTester($this -> CompleteDataFile);
$tester -> onSetUp();
$KeywordID = 0;
$this -> setExpectedException('InvalidArgumentException');
$this -> keyword -> getKeywordCount($KeywordID,'Active');
$KeywordID = 1;
$this -> setExpectedException('InvalidArgumentException');
$this -> keyword -> getKeywordCount($KeywordID,'InvalidStatus');
$this -> assertEquals(1, $this -> keyword -> getKeywordCount($KeywordID,'Active'));
$tester -> onTearDown();
}
Если я правильно понимаю, вы говорите, что легче, хотя и менее корректно иметь больше сценариев в одном тестовом случае. Если это означает, что вы выполняете несколько сценариев в одном тестовом примере, потому что создание нескольких тестовых примеров - это слишком много работы, я бы сказал: отрисуйте его, сделайте проще и более СУХОЙ, чтобы создать другой сценарий. Тестирование также программирует imho и должно выполняться с более или менее такими же принципами, как DRY. –
Кроме того, другим принципом программирования является KIS (Keep It Simple). Мне нравится больше. –