int** ary = new int[sizeY][sizeX]
должен быть:
int **ary = new int*[sizeY];
for(int i = 0; i < sizeY; ++i) {
ary[i] = new int[sizeX];
}
, а затем очистить будет:
for(int i = 0; i < sizeY; ++i) {
delete [] ary[i];
}
delete [] ary;
EDIT: как отметил Дитрих Эпп в комментариях, это не совсем легкое решение. Альтернативным подходом было бы использование одного большого блока памяти:
int *ary = new int[sizeX*sizeY];
// ary[i][j] is then rewritten as
ary[i*sizeY+j]
Я понимаю BDD, чтобы быть больше приблизительно [1 114] спецификация , чем [1 115] тестирование . Это связано с Доменным Управляемым Дизайном (разве, Вы не любите их *акронимы DD?).
Это связано с определенным способом записать пользовательские истории, включая высокоуровневые тесты. Пример Tom десять Thij:
Story: User logging in
As a user
I want to login with my details
So that I can get access to the site
Scenario: User uses wrong password
Given a username 'jdoe'
And a password 'letmein'
When the user logs in with username and password
Then the login form should be shown again
(В его статье, Tom продолжает непосредственно выполнять эту тестовую спецификацию в Ruby.)
Папа Римский BDD Dan North . Вы найдете большое введение в его статья Introducing BDD .
Вы найдете сравнение BDD и TDD в этом видео . Также мнение о BDD как "TDD, сделанный правильно" Jeremy D. Miller
25 марта 2013 обновление
видео выше, отсутствовало некоторое время. Вот недавний Llewellyn Falco, , BDD по сравнению с TDD (объяснил) . Я нахожу его объяснение четким и к точке.
Поведение Управляемая Разработка, кажется, фокусируется больше на взаимодействии и коммуникации между Разработчиками и также между Разработчиками и тестерами.
Статья Википедии имеет объяснение:
управляемая Поведением разработка
Не практикующий BDD самостоятельно все же.
Мне кажется, что BDD является более широким объемом. Это почти подразумевает, что TDD используется, что BDD является методологией затрагивания, которая собирает информацию и требования для использования, amongh другие вещи, методы TDD для обеспечения быстрой обратной связи.
Я экспериментировал немного с подходом BDD, и мое преждевременное заключение состоит в том, что BDD хорошо подходит для реализации варианта использования, но не в базовых деталях. TDD все еще качается на том уровне.
BDD также используется в качестве коммуникационного инструмента. Цель состоит в том, чтобы записать исполняемые спецификации, которые могут быть поняты под специалистами по проблемной области.
Кажется, существует два типа BDD.
первым является первоначальный стиль, который обсуждает Dan North и который вызвал создание платформ стиля xBehave. Мне этот стиль, прежде всего, применим для приемочных испытаний или спецификаций против объектов области.
второй стиль - то, что популяризированный Dave Astels и который, мне, новая форма TDD, который обладает некоторыми серьезными преимуществами. Это фокусируется на поведении вместо тестирования и также маленьких тестовых классов, пытаясь перейти к сути дела, где у Вас в основном есть одна строка на спецификацию (тест) метод. Этот стиль удовлетворяет всем уровням тестирования и может быть сделан с помощью любой существующей платформы поблочного тестирования, хотя более новые платформы (xSpec стиль) справка фокусируют одну поведение вместо тестирования.
существует также группа BDD, которую Вы могли бы найти полезным:
Мне главной разницей между BDD и TDD является фокус и формулировка. И слова важны для передачи Вашего намерения.
TDD направляет внимание на тестирование. И с тех пор в "старых тестах" мира водопада прибывает после реализации затем это мышление приводит к неправильному пониманию и поведению.
BDD направляет внимание на поведение и спецификацию, и таким образом, умы водопада отвлечены. Таким образом, BDD более понятен как практика дизайна и не как тестирование практики.
С моими последними знаниями BDD по сравнению с TDD, BDD фокусируется на определении того, что будет дальше, тогда как TDD фокусируется на настройке набора условий и последующем просмотре вывода.
BDD в значительной степени является правильным TDD. Однако BDD предлагает дополнительную ценность. Вот ссылка на это: