Nếu bạn đang thử nghiệm một hàm đếm giống như dưới đây, nó được coi là 'đúng' hoặc 'sai' để kiểm tra nhiều thứ cho hàm trong một hàm và có hàm kiểm tra cho mỗi thử nghiệm không?Xác nhận nhiều điều kiện trong một thử nghiệm đơn lẻ hoặc chia thành nhiều thử nghiệm?
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();
}
Nếu tôi hiểu chính xác, bạn nói rằng nó dễ dàng hơn, mặc dù ít "đúng" hơn để có nhiều tình huống hơn trong một trường hợp thử nghiệm. Nếu điều đó có nghĩa là bạn đang đặt nhiều kịch bản trong một trường hợp thử nghiệm vì làm nhiều trường hợp thử nghiệm là quá nhiều công việc, tôi muốn nói: trừu tượng hóa nó, làm cho nó dễ dàng hơn và nhiều hơn nữa. Thử nghiệm cũng là lập trình imho và nên được thực hiện với nhiều hay ít nguyên tắc tương tự, như DRY. –
Ngoài ra, một nguyên tắc lập trình khác là KIS (Keep It Simple). Tôi thích nó hơn. –